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

DJSebi

Frischling

  • »DJSebi« ist der Autor dieses Themas

Beiträge: 19

Wohnort: KÖLN!!!!!

Beruf: Musiker, Informatiker, DJ, Moderator

  • Private Nachricht senden

1

27.10.2008, 00:33

[Erledigt] error C2504 - Basisklasse undefiniert

Tag zusammen,

also mir ist zwar der Fehler bewusst, was er zu bedeuten hat, aber ich habe einfach keinen Plan, warum das passiert bzw. wo ichnun ein include zu viel oder zu wenig habe. Deshalb poste ich auch mal die Beiden klassen, um die es geht:

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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef OBJECT_H
#define OBJECT_H

#include "StdHeaders.h"
#include "Material.h"
#include "Sound.h"
#include "PhysX.h"

#include <NxPhysics.h>

class Object
{
public:
    virtual ~Object()
    {
        delete sound;
        delete material;
    }

    virtual void render( NxShape* shape ) = 0;
    
    bool    hasCollision();
    bool    isActive();
    void    setActive();
    void    setInactive();
    Sound*  getSound();
    string  getName();
    void    calcGLMatrix( const NxVec3& pos, const NxMat33& orient );
#pragma message( "Object is included!" )

protected:
    string      name;
    unsigned    shaderID;
    NxActor*    actor;
    Sound*      sound;
    Material*   material;
};

#endif


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef BALL_H
#define BALL_H

#include "StdHeaders.h"
#include "Object.h"

class Ball : Object
{
    friend class Object;
public:
    Ball( const NxActor* actor, const unsigned& shaderID, const string& name, const string* audioFiles );

    void render( NxShape* shape );

    void throwIt( const float& velocity );

protected:
    float   radius;
};

#endif


Der Fehler tritt immer dann auf, wenn im Ausgabefenster die Datei Object.cpp angegeben wird, wenn sie kompiliert wird.
Wenn noch mehr zu wissen ist, kann ich es gerne posten oder ihr könnt auch den Source-Code auf www.scua.de/projects/bowling einschauen. (Sollte mal ne Fehlermeldung kommen, einfach auf Zurück klicken und wieder Vorwärst klicken, KA warum das so ist, der Fehler ist neu)
Als IDE wird Visual Studio 2008 verwendet.

Danke schon mal für die Hilfe!

2

27.10.2008, 14:28

const? ... class foo : public base ...
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

DJSebi

Frischling

  • »DJSebi« ist der Autor dieses Themas

Beiträge: 19

Wohnort: KÖLN!!!!!

Beruf: Musiker, Informatiker, DJ, Moderator

  • Private Nachricht senden

3

27.10.2008, 14:37

Danke, hat sich erledigt. Ich habe den Fehler eben selber gefunden. Es lag daran, dass die abgeleitete Klasse "Ball" in einer anderen Header-Datei included wurde. Ich habe einfach, damit der Datentyp bekannt ist, die "Ball.h" in dessen .cpp-Datei included.

Werbeanzeige