Почему gtest Block Operator ==/! = Lexical Suppup?C++

Программы на C++. Форум разработчиков
Anonymous
Почему gtest Block Operator ==/! = Lexical Suppup?

Сообщение Anonymous »

Файл gtest.h из теста Google включает эти строки.
// This block of code defines operator==/!=
// to block lexical scope lookup.
// It prevents using invalid operator==/!= defined at namespace scope.
struct faketype {};
inline bool operator==(faketype, faketype) { return true; }
inline bool operator!=(faketype, faketype) { return false; }
< /code>
Какой пример неверного оператора, на который ссылается комментарий? Почему компилятор не предотвращает использование недействительного оператора? Почему нет поддельных операторов, соответствующих им?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ope-lookup

Вернуться в «C++»