Article View: de.comp.lang.c++
Article #488Re: instantiation of template - incomplete type
From: Olaf Pfohl
Date: Thu, 28 Sep 1995 14:00
Date: Thu, 28 Sep 1995 14:00
60 lines
1556 bytes
1556 bytes
Thorsten Gau (gau_t@gauhh.hanse.de) wrote:
: ich habe Probleme mit folgendem Code. Der VisualAge C++ compiliert ihn ohne
: Probleme, doch gcc 2.6.3 mag sowas gar nicht. Hilft mir da vielleicht ein
: Upgrade auf 2.7.0 oder kann ich da irgendwie drumrum programmieren?
: template<class T> class L
: {
: private:
: T data;
: public:
: L() {}
: };
: class A
: {
: public:
: A() {}
: L<A> children();
: };
Nun ja, ich finde dieses Klassendesign an sich nicht so toll: du gibst als
template-Argument die Klasse an, in der das Klassen-Member selbst enthalten
ist...das ist ja rekursiv und eine Fehlermeldung "uber unvollst"andige Klasse
eigentlich genau die richtige Meldung.
Besser w"are es, eine Basisklasse einzuf"uhren, von der abgelitten wird, und
welche auch als template-Argument dienen kann:
template <class T> class L
{
private:
T data;
public:
L() {}
};
class B
{
// ...
};
class A: public B
{
public:
A() {}
L<B> children();
};
Olaf
--
(signature intentionally left blank)
Technical Details
Message-ID:
<DFMC85.JKM@ips.cs.tu-bs.de>Path:
arc1-ca.pugleaf.net!news.dkrz.de!tubsibr!infbssys!pfohlReferences:
<DFErsG.6EK@gauhh.hanse.de>Show Full Headers
Complete Article Headers
Newsgroups: de.comp.lang.c++ Path: arc1-ca.pugleaf.net!news.dkrz.de!tubsibr!infbssys!pfohl From: pfohl@ips.cs.tu-bs.de (Olaf Pfohl) Subject: Re: instantiation of template - incomplete type Message-ID: <DFMC85.JKM@ips.cs.tu-bs.de> Sender: news@ips.cs.tu-bs.de (News Software) Nntp-Posting-Host: infbsps7.ips.cs.tu-bs.de Organization: Inst. f. Informatik, TU Braunschweig, FRG X-Newsreader: TIN [version 1.2 PL2] References: <DFErsG.6EK@gauhh.hanse.de> Date: Thu, 28 Sep 1995 14:00:04 GMT