------- Comment #3 from konto dot dydaktyczne at gmail dot com 2008-11-28 10:07 ------- Let me add an std::list and an std::set to my code; see below. Both additions produce errors. So,
[sequence containers] std::vector -> no error signaled, "explicit" ignored std::list -> error signaled, because of "explicit" std::deque -> no error signaled, "explicit" ignored [associative containers] std::set -> error signaled, because of "explicit" #include <vector> #include <deque> #include <list> #include <set> class X { public: explicit X(int) {} int operator<(const X&) const { return 0; } }; int main() { int a[1] = {}; std::vector<X> v(a, a + 1); std::deque<X> d(a, a + 1); std::list<X> l(a, a + 1); std::set<X> s(a, a + 1); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38265