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

matthias

Alter Hase

  • »matthias« ist der Autor dieses Themas

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

1

19.11.2006, 13:52

Klasse wird nicht gefunden

c++
Eine Klasse wird nicht gefunden, obwohl der Header eingefügt ist.
Wenn ich class Klasse; hinzufüge, bekomme ich den Fehler "Klasse besitzt keine Konstruktoren".
Jemand eine Idee woran es liegen könnte?
"In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Aplha Centauri."

2

19.11.2006, 14:05

code könnte glaub ich helfen. :)

3

19.11.2006, 14:05

Bitte poste den Code der KLasse! ;)
Das Böse ist des Menschensbeste Kraft - Friedrich Nietzsche

matthias

Alter Hase

  • »matthias« ist der Autor dieses Themas

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

4

19.11.2006, 14:12

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "Spieler.h"

class Spieler;

class MyGame : public Game
{
public:
    MyGame()
    {
                // ...

        // Spieler erzeugen

        spieler1 = new Spieler("animation.png", -20);
        spieler2 = new Spieler("animation2.png", 20);
    }

    ~MyGame()
    {
                // ...

    }

    Spieler*                spieler1;
    Spieler*                spieler2;
};


Spieler.h

C-/C++-Quelltext

1
2
3
4
5
class Spieler : public ITarget
{
public:
    Spieler(std::string filename, int soundPan);
};


Spieler.cpp

C-/C++-Quelltext

1
2
3
4
Spieler::Spieler(std::string filename, int soundPan): soundPan(soundPan)
{
     // ...

}
"In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Aplha Centauri."

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

5

19.11.2006, 14:13

Der Fehler sagt doch alles:

Du hast entweder nur private Konstruktoren (dann gäbe es aber glaub ich einen anderen Fehler), oder in der Klasse ist ein Member, der keinen Default-Konstrunktor hat (der ohne Argumente). In letzerem Fall musst du auf jeden Fall selbst einen Konstruktor definieren.

Sollte es das auch nicht sein, Code plz.

[edit] ich nehm alles zurück... das sieht erstmal richtig aus. Gib doch mal die genaue Fehlermeldung.

[edit2] ich nehme an "soundPan(soundPan)" ist nur ein Tippfehler?

Gruss,
Rainer
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

matthias

Alter Hase

  • »matthias« ist der Autor dieses Themas

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

6

19.11.2006, 14:24

Zitat

1>c:\dokumente und einstellungen\schlemm\eigene dateien\visual studio 2005\projects\wegame\startingpoint\main.h(40) : error C2514: 'Spieler': Klasse besitzt keine Konstruktoren
1> c:\dokumente und einstellungen\schlemm\eigene dateien\visual studio 2005\projects\wegame\startingpoint\main.h(11): Siehe Deklaration von 'Spieler'

Deklaration ist
class Spieler;
"In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Aplha Centauri."

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

7

19.11.2006, 15:22

Zitat von »"matthias"«

C-/C++-Quelltext

1
2
3
4
5
6
7
#include "Spieler.h"

class Spieler;

class MyGame : public Game
{
//...

Mach mal das class Spieler; weg, du inkludierst ja vorher Spieler.h. Inkludieren heißt einfach nur, dass der Inhalt der inkludierten Datei an die Stelle geschrieben wird, also hast du logischerweise erst die Klasse Spieler und dann darunter nochmal class Spieler; Du brauchst es also nicht. Vielleicht ist es für den Fehler verantwortlich, aber ka.

matthias

Alter Hase

  • »matthias« ist der Autor dieses Themas

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

8

19.11.2006, 15:37

wenn ich es weglasse wird der typ nicht gefunden :/
"In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Aplha Centauri."

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

9

19.11.2006, 15:55

Hmm dats aber sehr merkwürdig. Sieht so aus als wenn er die Datei gar nicht richtig liest oder findet, weil sonst würde er den Typ finden. Deswegen sagt er dann halt auch die Klasse hat keine Konstruktoren, weil sie nur als class Spieler; deklariert wurde.

Und du hast den Code den du gepostet hast nicht nachbearbeitet und deine Spieler.h ist im selben Verzeichnis wie deine restlichen Projektdateien ja?

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

10

19.11.2006, 16:03

Dann hast du dich in Spieler.h entweder vertippt, die Klasse ist in einem anderen Header, oder dein Include-Guard ist falsch.

Zeig mal die komplette "Spieler.h"
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

Werbeanzeige