Код: Выделить всё
termiosПоскольку сравнения по умолчанию нет, я попытался определите оператор сравнения по умолчанию:
Код: Выделить всё
bool operator == (const termios& lhs, const termios& rhs) = default;
ошибка: по умолчанию 'booloperator==(const termios&, const termios&) ' не является другом 'termios'.
Определение оператора также не работает:
Код: Выделить всё
auto operator (const termios& lhs, const termios& rhs) = default;
Ошибка одинакова для GCC 12.2 и clang-14.
Я всегда думал, что мы можем определить операторы сравнения, не являющиеся членами, без необходимость того, чтобы они были друг структуры (в конце концов, структура берется из заголовка C, и все ее члены являются общедоступными).
Есть ли способ сравнения по умолчанию без сравнение элементов по элементам (что сделает сравнение зависимым от членов структуры)?
Подробнее здесь: https://stackoverflow.com/questions/793 ... a-c-struct
Мобильная версия