🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #6458

Re: ISO C++ does not permit ...

#6458
From: Franky Braem
Date: Tue, 10 Dec 2002 18:17
44 lines
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-mail
References: <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