170 похожих чатов

Поясните за оператор== для агрегатов, он действительно нужен при remove?

21 ответов

15 просмотров

Щто

Утешительный-Приз Автор вопроса
Danya🔥
Щто

export struct aBool { bool isBool; }; aBoo.erase(std::remove(aBoo.begin(), aBoo.end(), static_cast<aBool*>(0)), aBoo.end()); Ошибка C2678 бинарный "==": не найден оператор, принимающий левый операнд типа "aBool"

Всё ещё неправильно :( Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

Утешительный Приз
export struct aBool { bool isBool; }; aBoo....

што такое export тут, ты че модули пишешь?

Утешительный Приз
экспортирую модули

мне одному кажется очень странной конструкция a.erase(std::remove)

Как сравнивать типы, не имеющие оператора==?

Утешительный-Приз Автор вопроса
Danya🔥
Как сравнивать типы, не имеющие оператора==?

я думал компилятор не такой жлобский и сам разрулит а если так (*reinterpret_cast<char*>(&aboo1) == *reinterpret_cast<char*>(&aboo2));

Только спец функции-члены он сам может

Утешительный-Приз Автор вопроса
Утешительный Приз
я думал компилятор не такой жлобский и сам разрули...

чем плохо так писать сравнение для агрегатов? если там десяток простых типов и их сравнить нужно просто попорядку

Утешительный-Приз Автор вопроса
Danya🔥
auto operator==(MyType) = default;

Ну это понятно, а за такой каст простых типов я больше плачу или тоже самое?

Утешительный-Приз Автор вопроса
Утешительный Приз
я думал компилятор не такой жлобский и сам разрули...

Вы, скорее всего, не понимаете, что здесь делаете. Обратите внимание на то, что указатели разыменовываются. Edit: Без разыменовывания было бы тоже абсолютно некорректно, если что.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта