------- 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

Reply via email to