libstdc++/9626: g++ accepts vector<vector<int> > v(2, 4);
Falk Hueffner
falk.hueffner@student.uni-tuebingen.de
Sat Feb 8 13:48:00 GMT 2003
paolo@gcc.gnu.org writes:
> Synopsis: g++ accepts vector<vector<int> > v(2, 4);
>
> State-Changed-From-To: analyzed->feedback
> State-Changed-By: paolo
> State-Changed-When: Sat Feb 8 13:36:01 2003
> State-Changed-Why:
> On second thought, doesn't seem to me that your testcase is
> illegal. You are asking for a size 2 vector of size 4 vectors:
> there are no implicit conversions which should be prevented by
> explicit, since 4 is the argument of the explicit vector(const
> A& = A()) constructor of each of them and this seems perfectly
> legal. Agreed?
No. I pass a 4, but the constructor expects an A = vector<int>. The
only way to make a "vector<int>" from "4" is with an "explicit"
constructor.
--
Falk
More information about the Gcc-bugs
mailing list