Article View: be.comp.programming
Article #6458Re: ISO C++ does not permit ...
From: Franky Braem
Date: Tue, 10 Dec 2002 18:17
Date: Tue, 10 Dec 2002 18:17
44 lines
2230 bytes
2230 bytes
"Dominique Devriese" <dominique.devriese@student.kuleuven.ac.be> wrote in
message news:87lm2ykkpg.fsf@appel.kotnet.org...
> Franky Braem writes:
>
> > Hallo Ik heb een klasse die erft van een template met zichzelf als 1
> > van de arguments. Deze template heeft een statische member. Ik
> > probeer deze statische member te initialiseren via de klasse (en
> > niet via de template)
>
> > Wanneer ik compileer met VC, dan werkt alles perfect. Compileer ik
> > met gcc (van MingW) dan krijg ik volgende foutmelding:
>
> > ISO C++ does not permit 'T<A, B>::var' to be defined as 'A::var'
>
> > A erft van T<A,B> en var is een statische member van T. Kan ik gcc
> > deze fout laten negeren? Of moet ik een workaround gebruiken?
>
> > Waarom gebruik ik niet T<A,B>::var ? Omdat de code gegenereert wordt
> > via een macro en die kan (mag) ik niet wijzigen.
>
> kan je niet eens wat (relevante) code posten, want het is me niet
> geheel duidelijk..
> sjuus
> domi
>
class A : public T<A>
{
};
template<class T1>
class T
{
public:
static int var;
};
Het volgende werkt in VC++ :
int A::var = 0;
maar werkt niet met gcc.
Klasse A is gedefinieerd volgens het "Curiously Recursive Template Pattern".
Technical Details
Message-ID:
<3df6309c$0$8499$ba620e4c@news.skynet.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!iad-peer.news.verio.net!news.verio.net!skynet.be!skynet.be!louie!not-for-mailReferences:
<3df5fa6b$0$20770$ba620e4c@news.skynet.be> <87lm2ykkpg.fsf@appel.kotnet.org>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,c436a161484c41f1 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-12-10 10:22:04 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!iad-peer.news.verio.net!news.verio.net!skynet.be!skynet.be!louie!not-for-mail From: "Franky Braem" <fa225992@skynet.be> Newsgroups: be.comp.programming References: <3df5fa6b$0$20770$ba620e4c@news.skynet.be> <87lm2ykkpg.fsf@appel.kotnet.org> Subject: Re: ISO C++ does not permit ... Date: Tue, 10 Dec 2002 19:17:42 +0100 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2720.3000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Lines: 46 Message-ID: <3df6309c$0$8499$ba620e4c@news.skynet.be> Organization: -= Skynet Usenet Service =- NNTP-Posting-Host: 80.200.216.143 X-Trace: 1039544477 reader0.news.skynet.be 8499 80.200.216.143 X-Complaints-To: abuse@skynet.be