c++ - cannot find constructor
- Christof Meerwald (24/24) Jan 02 2003 struct A
- Walter (3/27) Jan 04 2003 I'm mystified how this can work. How can any instance of B be created...
- Christof Meerwald (11/26) Jan 04 2003 STLport does it this way:
- Walter (7/33) Jan 04 2003 That's working around how C++ is supposed to work. Object instances are ...
struct A { A(int) { } }; template<class T> struct B { T t; // Error: cannot find constructor for class matching A::A() }; int main() { B<A> *a = 0; B<A> b(*a); return 0; } There is no need trying to instantiate the default constructor for B<A>. From Boosts regex++ library (low priority). bye, Christof -- http://cmeerw.org JID: cmeerw jabber.at mailto cmeerw at web.de ...and what have you contributed to the Net?
Jan 02 2003
I'm mystified how this can work. How can any instance of B<A> be created? "Christof Meerwald" <cmeerw web.de> wrote in message news:av264i$ub6$2 digitaldaemon.com...struct A { A(int) { } }; template<class T> struct B { T t; // Error: cannot find constructor for class matching A::A() }; int main() { B<A> *a = 0; B<A> b(*a); return 0; } There is no need trying to instantiate the default constructor for B<A>. From Boosts regex++ library (low priority). bye, Christof -- http://cmeerw.org JID: cmeerw jabber.at mailto cmeerw at web.de ...and what have you contributed to the Net?
Jan 04 2003
On Sat, 4 Jan 2003 01:35:12 -0800, Walter wrote:I'm mystified how this can work. How can any instance of B<A> be created?STLport does it this way: A a(0); B<A> *b1 = (B<A> *) malloc(sizeof(B<A>)); new (&b1->t) A(a);"Christof Meerwald" <cmeerw web.de> wrote in message news:av264i$ub6$2 digitaldaemon.com...[...] bye, Christof -- http://cmeerw.org JID: cmeerw jabber.at mailto cmeerw at web.de ...and what have you contributed to the Net?struct A { A(int) { } }; template<class T> struct B { T t; // Error: cannot find constructor for class matching A::A() };
Jan 04 2003
That's working around how C++ is supposed to work. Object instances are only supposed to be built with constructors. Of course, STLport can be easilly fixed by adding the missing constructor. The malloc call below should be replaced with a new(). "Christof Meerwald" <cmeerw web.de> wrote in message news:av6jqo$eoo$1 digitaldaemon.com...On Sat, 4 Jan 2003 01:35:12 -0800, Walter wrote:created?I'm mystified how this can work. How can any instance of B<A> beSTLport does it this way: A a(0); B<A> *b1 = (B<A> *) malloc(sizeof(B<A>)); new (&b1->t) A(a);"Christof Meerwald" <cmeerw web.de> wrote in message news:av264i$ub6$2 digitaldaemon.com...[...] bye, Christof -- http://cmeerw.org JID: cmeerw jabber.at mailto cmeerw at web.de ...and what have you contributed to the Net?struct A { A(int) { } }; template<class T> struct B { T t; // Error: cannot find constructor for class matching A::A() };
Jan 04 2003