Article View: de.comp.lang.c++
Article #1091Re: statische Klassenkomponenten
From: Claus Faerber
Date: Fri, 22 Dec 1995 18:58
Date: Fri, 22 Dec 1995 18:58
47 lines
1565 bytes
1565 bytes
tsimon@student.uni-kl.de (19 Dec 95):
>
> 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 = 0;
> 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
Du hast A::k zwar in der Klassendefinition angegeben, aber fuer statische
Variablen muss irgendwo noch ein Platz im Datensegment reserviert werden.
Das ist auch, was Dir der Linker mit der Fehlermeldung mitteilen wollte.
> Kann mir vielleicht jemand erklaeren, warum das nicht erlaubt ist ???
> Oder ist dies erst bei einer hoeheren g++ Version erlaubt ??
Das ist bei **KEINEM** C++-Compiler erlaubt, es fehlt einfach was.
/\ Frohe ======================================================
/ \ Weihnachten Claus Andre Faerber <claus@faerber.muc.de>
/_ _\ Merry Mitterfeldstrasse 20 * D-83043 Bad Aibling * Germany
|| Christmas ======================================================
Technical Details
Message-ID:
<5-KSrWMZcDB@faerber.muc.de>Path:
arc1-ca.pugleaf.net!faerber.muc.de!clausReferences:
<1995Dec19.201232@alma.student.uni-kl.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!faerber.muc.de!claus Date: 22 Dec 1995 19:58:00 +0100 From: claus@faerber.muc.de (Claus Faerber) Newsgroups: de.comp.lang.c++ Message-ID: <5-KSrWMZcDB@faerber.muc.de> References: <1995Dec19.201232@alma.student.uni-kl.de> Subject: Re: statische Klassenkomponenten X-Newsreader: CrossPoint v3.1