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

11

24.03.2010, 23:50

moment, wieso muss die funktion im header definiert werden, damit du ihre adresse benutzen kannst?

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

12

25.03.2010, 16:44

Es hat sich jetzt geklärt...

aber danke für eure infos ;)

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

13

29.04.2010, 22:33

Hallo, ich bin's noch einmal...

Wieder habe ich ein Ähnliches Problem...

Ich hatte eine Ganze Reihe von statischen Memberfunktionen in einer .cpp definiert, bekam dann aber 11 LNK2005-Fehler.

Das umschichten in einen .inl-File hat das Problem vorerst gelöst, aber als ich die Funktionen dann wo anders verwendet habe, bekam ich 17 LNK2005-er

Alle nach dem Schema:

Zitat

Gameboard.obj : error LNK2005: "private: static void * BBB::ResourceManager::LoadingThread" (?LoadingThread@ResourceManager@BBB@@0PAXA) ist bereits in FloatingObj.obj definiert.

Das scheint ja auf den ersten Blick oldschool, aber die Funktionen sind ja schon static und inline !?
Woran kann dies nun liegen? Im INet wird immer Vorgeschlagen: static machen (sind die Funktionen und Variablen alle Schon), in einen .inl packen und in den Header includieren (auch schon gemacht) oder extern deklarieren. Ich bin endgültig mit meinem Latein am ende...

Danke für eure Hilfe ;)

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

14

29.04.2010, 23:03

Static bedeutet, dass eine Funktion/Variable nur innerhalb einer Datei benutzt werden kann. Somit ist diese nicht aufrufbar aus anderen Dateien.

15

30.04.2010, 12:09

Es funktioniert nur in mehreren Modulen, wenn du von der Klasse erben lässt.
Bestes Beispiel: Singletons
Ich weiß es dauert viel zu lange, aber ich habe echt nur Pech. Habe mir heute mal eben im Zeigefinger Nerv und Sehne durchtrennt. Dennoch kann es nicht mehr all zu lange dauern mit dem Tutorial. Außerdem kamen auch noch Prüfungen und dergleichen dazwischen.
Klatscht die Hopper an die Wand, Deutschland ist ein Raverland! :D

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

16

30.04.2010, 12:12

Was kann ich dann tun?

als extern in der anderen Datei deklarieren?

EDIT: Sorry, habe den Beitrag von insane nicht gelesen.

Mal sehen... Danke ;)

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

Werbeanzeige