🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1063

Re: statische Klassenkomponenten

#1063
From: Joerg Koenig
Date: Wed, 20 Dec 1995 12:44
57 lines
1574 bytes
In article <1995Dec19.201232@alma.student.uni-kl.de>, tsimon@student.uni-kl.de (Thomas Simon) says:
>
> 
>Hallo Welt,
> 
>Ich habe versucht das folgende C++ Programm durch den gnu g++ version 2.6.0
>zu jagen.
> 
>#include <iostream.h>
> 
>class A {
> 
>  public:
> 
>    static int k;
>    static int give() { return k; };
> 
>};
> 

int A::k ;

static data members muessen separat definiert werden, da sie vom
Compiler wie globale Variablen behandelt werden. Sonst koennten
nicht mehrere Instancen auf das gleiche Daten-Element zugreifen.

> 
>int main()
>{
>  cout << A::give();
>}
>  
>Und habe die folgende Fehlermeldung erhalten.
> 
>g++ -g -o test6 test6.cc
>ld: Undefined symbol 
>   __1A$k 
>collect2: ld returned 2 exit status
> 
> 
>Kann mir vielleicht jemand erklaeren, warum das nicht erlaubt ist ???

Deklarierte, aber nicht definierte Variablen zu benutzen ist schon
immer nicht erlaubt gewesen, sogar im allerersten "C" ...

>Oder ist dies erst bei einer hoeheren g++ Version erlaubt ??

Das wird auch in Zukunft in keiner Compiler-Version erlaubt sein,
vermute ich ganz stark.

> 
>Tschuess 
> 
>  Thomas
>

	Joerg 
Technical Details
Message-ID: <4b90g8$3c0@alpha.adg.de>
Path: arc1-ca.pugleaf.net!alpha.adg.de!usenet
References: <1995Dec19.201232@alma.student.uni-kl.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!alpha.adg.de!usenet
From: jko@adg.de (Joerg Koenig)
Newsgroups: de.comp.lang.c++
Subject: Re: statische Klassenkomponenten
Date: 20 Dec 1995 12:44:56 GMT
Organization: Apotheken Dienstleistungs Gesellschaft mbH
Message-ID: <4b90g8$3c0@alpha.adg.de>
References: <1995Dec19.201232@alma.student.uni-kl.de>
NNTP-Posting-Host: rincewind.adg.de
X-Newsreader: WinVN 0.92.6+