Щто
export struct aBool { bool isBool; }; aBoo.erase(std::remove(aBoo.begin(), aBoo.end(), static_cast<aBool*>(0)), aBoo.end()); Ошибка C2678 бинарный "==": не найден оператор, принимающий левый операнд типа "aBool"
Всё ещё неправильно :( Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
Смешались кони, люди...
што такое export тут, ты че модули пишешь?
экспортирую модули
мне одному кажется очень странной конструкция a.erase(std::remove)
Как сравнивать типы, не имеющие оператора==?
я думал компилятор не такой жлобский и сам разрулит а если так (*reinterpret_cast<char*>(&aboo1) == *reinterpret_cast<char*>(&aboo2));
Только спец функции-члены он сам может
это соревнование на худшие 2 строки кода?
я еще придумаю
Зови яндередева
чем плохо так писать сравнение для агрегатов? если там десяток простых типов и их сравнить нужно просто попорядку
auto operator==(MyType) = default;
Ну это понятно, а за такой каст простых типов я больше плачу или тоже самое?
Где ты здесь каст увидел?
Когда реинтреп каст
Вы, скорее всего, не понимаете, что здесь делаете. Обратите внимание на то, что указатели разыменовываются. Edit: Без разыменовывания было бы тоже абсолютно некорректно, если что.
Обсуждают сегодня