Используйте оператор == и initializer-list

Например

template<class Container, class T>
bool operator==(Container const& c, std::initializer_list<T> const& l)
{
    return c.size() == l.size() && equal(c.begin(), c.end(), l.begin());
}

Проверьте по

std::vector<int> v = {1, 2};
bool b = operator==(v, {1, 2}); // okay
b = (v == {1, 2}); // Error

Зачем? и как это исправить?

0 ответов

Другие вопросы по тегам