Поскольку сравнения по умолчанию нет, я попытался определить значение по умолчанию оператор сравнения:
Код: Выделить всё
bool operator == (const termios& lhs, const termios& rhs) = default;
Код: Выделить всё
error: defaulted ‘bool operator==(const termios&, const termios&)’ is not a friend of ‘termios’
Код: Выделить всё
auto operator (const termios& lhs, const termios& rhs) = default;
Код: Выделить всё
error: defaulted ‘auto operator(const termios&, const termios&)’ is not a friend of ‘termios’
Я всегда думал, что мы можем определить операторы сравнения, не являющиеся членами, без необходимости они должны быть друзьями структуры (в конце концов, структура берется из заголовка C, и все ее члены являются общедоступными)
Есть ли способ сравнения по умолчанию без сравнения элементов за элементом (что сделает сравнение зависимым от структуры участники)
Подробнее здесь: https://stackoverflow.com/questions/793 ... a-c-struct
Мобильная версия