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

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

1

29.10.2006, 17:55

Wem es langweilig ist und wer auf Schmerzen steht

Tut mir Leid, euch mit so einem überflüssigen Zeug zu stören, aber ich fürchte, dass ich nur irgendeine Banalität vergessen hab.
(Deshalb die nicht besonders einladende Überschrift)


Quellcode

1
2
3
4
5
6
7
8
9
10
11
--------------------Konfiguration: Strategic Command - Win32 Debug--------------------
Kompilierung läuft...
Intro.cpp
d:\visual c++\strategic command\intro.h(11) : error C2380: Typ(en) vor 'CIntro' - Konstruktor mit Ergebnistyp oder unzulaessige Neudefinition eines Klassennamens?
d:\visual c++\strategic command\intro.h(12) : error C2631: 'CIntro::~CIntro' :Destruktoren erlauben keinen Rueckgabetyp
MAIN.cpp
d:\visual c++\strategic command\intro.h(11) : error C2380: Typ(en) vor 'CIntro' - Konstruktor mit Ergebnistyp oder unzulaessige Neudefinition eines Klassennamens?
d:\visual c++\strategic command\intro.h(12) : error C2631: 'CIntro::~CIntro' :Destruktoren erlauben keinen Rueckgabetyp
Fehler beim Ausführen von cl.exe.

Strategic Command.exe - 4 Fehler, 0 Warnung(en)


Ich wäre sehr dankbar, falls jemand doch mir auf die Sprünge helfen würde.
Ist etwas peinlich :oops:

Mit freundlichen Grüßen,
WhiteMike

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

2

29.10.2006, 18:01

Sieht aus als wenn du in deinem Destruktor n return drinhast, das muss auf jeden Fall raus. Zeig mal den Code, auch für den Konstruktor. Kannst dir auch mal die Fehlerbeschreibung in der Hilfe angucken, das ist meistens ganz nützlich, einfach C2380 eingeben im indexverzeichnis.

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

3

29.10.2006, 18:03

C-/C++-Quelltext

1
void
(oder anderen Rückgabetyp) vor Konstruktor/Destruktor entfernen
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

4

29.10.2006, 18:10

Ich glaub, das Problem ist eher das, das ich die Dateien falsch includet hab.

Quellcode

1
2
3
4
5
6
7
Main.h => Main.cpp
Intro.h                      <--- Mehrfach-"Includetion" ?
Util.h

Intro.h => Intro.cpp

Util.h => Util.cpp


Das Problem ist, dass ich eine Bibliothek benutze. Die Header-Datei davon brauch ich schon bei der Intro-Klasse, die ein eigenes Dateipaar bildet. Die H-Datei von diesem Paar include ich auch im Hauptprogramm - da, wo es eingesetzt werden muss.

Mit freundlichen Grüßen,
WhiteMike

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

5

29.10.2006, 18:16

Der Fehler klingt aber nach was anderem..
Sieht so aus, als wenn du in den .h dateien die .cpp Dateien inkludierst, du musst es andersrum machen. Wenn du diese Datei die du meinst im Intro einbindest brauchst dus im Hauptprogramm nicht mehr zu machen, weil du ja das Intro vom Hauptprogramm aus einbindest nehme ich an.
Um Doppeleinbindungen zu vermeiden kannst du Includeguards in die Header Dateien schreiben:

C-/C++-Quelltext

1
2
3
4
5
6
#ifndef DATEINAME
#define DATEINAME

//Hier dein Code für die Headerdatei


#endif

Das hilft ;)

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

6

29.10.2006, 18:20

Danke, ich bin mit dem Problem feritggeworden.
Danke für den Tipp, ich werd es einbauen.
:)

Mit freundlichen Grüßen,
WhiteMike

7

29.10.2006, 18:20

oder #pragma once nutzen (aber gucken das es sich um nen VC Compiler handelt!)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Werbeanzeige