Article View: gnu.g++.bug
Article #15self referential class templates don't compile
From: Ray Tice
Date: Fri, 30 Oct 1992 20:59
Date: Fri, 30 Oct 1992 20:59
43 lines
1432 bytes
1432 bytes
Causes problems with g++ (through 2.2.2)
Don't see anything in Ellis & Stroustrup that prevents this.
Works fine with Borland C++ 3.0.
/////////////////////// Test 1 fails
template<class A, class B>class Cross1 {
Cross1<B, A> *a; //parse error before `,'; parse error before `a'
};
void test1() { Cross1<int, float> cross1; };
////////////////////////
Thanks
Ray Tice
ray@westford.ccur.com
(relevant test cases follow)
/////////////////////////////////// Test 2 fails
template<class A>class Cross2 {
Cross2<A> *a; //parse error before `>'
};
void test2() { Cross2<int> cross2; };
/////////////////////////////////// Test 3 passes
template<class A, class B>class Cross3a {
A *a;
B *b;
};
template<class A, class B>class Cross3b {
Cross3a<B,A> *a;
};
void test3() { Cross3b<int, float> cross3; };
/////////////////////////////////// Test 4 passes
class Cross4 {
Cross4 *a;
};
Technical Details
Message-ID:
<9210301557.aa02018@athena.westford.ccur.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!think.com!rpi!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!westford.ccur.COM!rayShow Full Headers
Complete Article Headers
Newsgroups: gnu.g++.bug Path: arc1-ca.pugleaf.net!sparky!uunet!think.com!rpi!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!westford.ccur.COM!ray From: ray@westford.ccur.COM (Ray Tice) Subject: self referential class templates don't compile Message-ID: <9210301557.aa02018@athena.westford.ccur.com> Sender: gnulists@ai.mit.edu Organization: GNUs Not Usenet Distribution: gnu Date: Fri, 30 Oct 1992 20:59:22 GMT Approved: bug-g++@prep.ai.mit.edu Lines: 47