Файл 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