🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: statische Klassenkomponenten

#1091
From: Claus Faerber
Date: Fri, 22 Dec 1995 18:58
47 lines
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!claus
References: <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