У меня есть класс Cache
, в котором функция записи указана как
bool write(const MemoryAccess &memory_access, CacheLine &cl);
Я вызываю эту функцию следующим образом.
const Cache *this_cache;
c = (a==b)?my_cache:not_cache;
c->write(memory_access,cl);
Приведенная выше строка выдает следующую ошибку
«Передача ‘const Cache’ в качестве ‘этого’ аргумента ‘bool Cache::write(const MemoryAccess&, CacheLine&) отбрасывает квалификаторы [-fpermissive]."
Аргумент this является специфичным для компилятора, что помогает при искажении кода и нарушении приоритета переменной локального пространства имен. Но такая переменная здесь не передается.