🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #6459

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

#6459
From: Dominique Devriese
Date: Tue, 10 Dec 2002 18:25
50 lines
2305 bytes
Franky Braem writes:

> 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".

template<class T1>
class T
{
public:
  static int var;
};

template<class T1> int T<T1>::var;

class A : public T<A>
{
};

int main()
{
  A::var = 0;
}


deze code werkt in gcc.

Ik weet niet wat er juist mis is gegaan (misschien de foutmelding
posten ? ) maar deze twee dingen ben je mss vergeten:
Een statische variabele moet je buiten de klasse-definitie nog apart
definieren: daarvoor dient de lijn "template<class T1> int T<T1>::var;".
en je moet de template-klasse natuurlijk definieren voor je A ervan
laat erven, maar dat zul je wel weten, veronderstel ik..
sjuus
domi

-- 
Nothing so needs reforming as other people's habits.
		-- Mark Twain, "Pudd'nhead Wilson's Calendar"
Technical Details
Message-ID: <878yyxloiw.fsf@appel.kotnet.org>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!newshosting.com!news-xfer1.atl.newshosting.com!news.stealth.net!news.stealth.net!syros.belnet.be!naxos.belnet.be!news.belnet.be!not-for-mail
References: <3df5fa6b$0$20770$ba620e4c@news.skynet.be> <87lm2ykkpg.fsf@appel.kotnet.org> <3df6309c$0$8499$ba620e4c@news.skynet.be>

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:27:59 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!newshosting.com!news-xfer1.atl.newshosting.com!news.stealth.net!news.stealth.net!syros.belnet.be!naxos.belnet.be!news.belnet.be!not-for-mail
From: Dominique Devriese <dominique.devriese@student.kuleuven.ac.be>
Newsgroups: be.comp.programming
Subject: Re: ISO C++ does not permit ...
Date: 10 Dec 2002 19:25:27 +0100
Organization: KULeuvenNet
Lines: 50
Sender: domi@appel
Message-ID: <878yyxloiw.fsf@appel.kotnet.org>
References: <3df5fa6b$0$20770$ba620e4c@news.skynet.be> <87lm2ykkpg.fsf@appel.kotnet.org> <3df6309c$0$8499$ba620e4c@news.skynet.be>
NNTP-Posting-Host: seven.kulnet.kuleuven.ac.be
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Trace: naxos.belnet.be 1039544873 10124 134.58.127.12 (10 Dec 2002 18:27:53 GMT)
X-Complaints-To: abuse@belnet.be
NNTP-Posting-Date: Tue, 10 Dec 2002 18:27:53 +0000 (UTC)
User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)
Cache-Post-Path: seven.kulnet.kuleuven.ac.be!unknown@domi.kotnet.org
X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/)