Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

kiba

Alter Hase

  • »kiba« ist der Autor dieses Themas

Beiträge: 327

Wohnort: NRW

Beruf: Azubi: Fach-Info. Anw.

  • Private Nachricht senden

1

03.02.2008, 21:11

undefined reference

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
//cl.hpp

#ifndef _CL_HPP_
#define _CL_HPP_
extern class Cl{
  puclic:
  int x;
  Cl();
}Klasse;
#endif

C-/C++-Quelltext

1
2
3
//cl2.cpp

#include "cl.hpp"
Cl::Cl(){x = 10;}


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
//cl2.hpp

#include "cl.hpp"

#ifndef _CL2_HPP_
#define _CL2_HPP_
class Cl2{
  int xx;
  public:
  Cl2();
}
#endif

C-/C++-Quelltext

1
2
3
//cl2.cpp

#include "cl2.hpp"
Cl2::Cl2(){xx = Klasse.x;}



fehler meldung:
..\.objs\cl2.o:cl2.cpp:(.text+0x369): undefined reference to `Klasse'

es soll so sein das die variable Klasse nur einmal erstellt wird
und das andere klassen dadrauf zugreifen können

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

2

03.02.2008, 21:25

Ich glaube mit extern deklarierst du die Klasse nur....
du musst sie aber noch definieren !!

Wie du das in diesem Fall machst :arrow: ka :(

p0llux

Treue Seele

Beiträge: 101

Wohnort: Aachen

Beruf: HiWi (theo. Inf.)

  • Private Nachricht senden

3

03.02.2008, 22:15

Die Instanzierung findet ja unmittelbar nach dem Deklarationsrumpf statt. Es sollte eigentlich reichen, wenn du in der Methode die den Fehler verursacht zuerst ein

Quellcode

1
extern Cl Klasse;


verwendest. Bin mir aber nicht sicher ob es das tut. Einfach mal ausprobieren. Falls du allgemein möchtest, dass nur eine Instanz deiner ersten Klasse existiert, welche global verfügbar ist, dann empfehle ich dir hierzu das Singleton-Entwurfsmuster. Das sollte genau den Zweck erfüllen.

Werbeanzeige