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

Nik94

Frischling

  • »Nik94« ist der Autor dieses Themas

Beiträge: 18

Wohnort: Solingen

Beruf: Schüler

  • Private Nachricht senden

1

27.09.2011, 19:41

C++: Problem beim Erstellen von Klassenobjekt

Hallo zusammen,
Ich habe ein Problem mit dem Ableiten eines Objektes einer von einer Klasse. Die Klasse heißt "Vector2" (Ja, in Anlehnung an die TriBase-Engine) und ist im namespace ge deklariert. Ich möchte jetzt in der Klasse Direct3D, welche auch in ge steht, ein Obkelt von Vector2 anlegen (member). VC++ sagt mir jetzt allerdings beim Compilen, dass:

Zitat

1>m:\_myprojects\dmxcontrol\graphicengine\direct3d.h(40): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_vScreenSize'
1>m:\_myprojects\dmxcontrol\graphicengine\direct3d.h(40): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>m:\_myprojects\dmxcontrol\graphicengine\direct3d.h(40): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
Im Editor von VC++2010 wird mir aber gesagt, dass alles richtig ist.
Ich hoffe, mir kann jemand helfen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »TrikkieMikkie« (28.09.2011, 17:59)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

27.09.2011, 19:47

Kann es sein, dass im Header von Vector2 direct3d.h eingebunden(include) wird? Wenn ja: Wieso? Geht es auch ohne?

Es ist immer am besten Programmiergrundlagen an möglichst kleinen und einfachen Beispielen zu Üben(Konsolenprogramme). Du findest Fehler einfach schneller wenn du so wenig mögliche Fehlerursachen wie möglich hast.
Wenn du hingegen gleich mit DirectX anfängst hast du so viel neues auf einmal, dass du garnicht weißt, wo du suchen sollst. Manchmal weißt du auch garnicht ob es dein Fehler oder einer in der Library ist.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Nik94

Frischling

  • »Nik94« ist der Autor dieses Themas

Beiträge: 18

Wohnort: Solingen

Beruf: Schüler

  • Private Nachricht senden

3

27.09.2011, 19:54

Die Dateien direct3d.h und vector2.h werden in der datei graphicengine.h eingebunden, welche wiederrum in vector2 und direct3d eingebunden wird. Ich habs jetzt mal ohne diese Einbindung versucht, der Fehler tritt jedoch leiter immernoch auf.

4

27.09.2011, 20:33

Vordeklaration und Include-Wächter. Einfach mal googlen.

MfG
Check

Nik94

Frischling

  • »Nik94« ist der Autor dieses Themas

Beiträge: 18

Wohnort: Solingen

Beruf: Schüler

  • Private Nachricht senden

5

27.09.2011, 20:54

Die Vordeklarationen haben mir Geholfen. Danke dafür. Die Include-Wächter hatte ich vorher auch schon drinn.
Jectz wäre es nurnoch interessant zu wissen, wie ich die in graphicengine.h eingebundene header und defines auch in vector2 verwenden kann, ohne sie neu definieren zu mnüssen.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

6

28.09.2011, 15:53

Es reicht doch wenn du sie in der cpp einbindest. Dort dürfte das Include keine Probleme verursachen.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Werbeanzeige