BCB6: Unresolved Linker Error zwischen zwei Klassen? (Suche benutzt)



  • Habe die Suche bereits benutzt und keine Hilfe gefunden. Bin etwas überfragt, vielleicht hängt es mit der Dateihierarchie zusammen. Bitte helft mir!

    Fehler: [Linker Fehler] Unresolved external 'TCarType::TCarType()' referenced from...

    Programm: Car (kleines Test-Autorennspiel).

    car.h

    #ifndef _CAR_H_
    #define _CAR_H_
    
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    
    #include "TCar.h"
    
    class TfrmMain : public TForm {
    	__published:
    
    	private:
    
    	public:
    		__fastcall TfrmMain(TComponent* Owner);
    };
    
    extern PACKAGE TfrmMain *frmMain;
    
    #endif
    

    car.cpp

    //
    // TfrmMain cpp
    //
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Car.h"
    
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    
    TfrmMain *frmMain;
    TCar *pCar = new TCar;
    
    __fastcall TfrmMain::TfrmMain(TComponent* Owner) : TForm(Owner) {
    	// pCar->setSpeed(20);
    }
    

    TCar.h

    //
    // TCar class
    // 
    
    #ifndef _TCAR_H_
    #define _TCAR_H_
    
    #include "vcl.h"
    #include "TCarType.h"
    
    class TCar : public TCarType {
    	public:
    		TCar(void);
    		TCar(TPoint tPosition, int iSpeed, float fAngle, int iDamage);
    
    		void accellerate(void);					// UP key
    		void brake(void);                   	// DOWN key
    		void moveLeft(void); 					// turn_left (LEFT key)
    		void moveRight(void);               	// turn_right (RIGTH key)
    
    		void setPosition(TPoint tPosition);		// Set new position (new_position)
    		void setAngle(float fAngle);
    		void setSpeed(int iSpeed);
    		void setDamage(int iDamage);
    
    		TPoint getPosition(void);
    		float getAngle(void);
    		int getSpeed(void);
    		int getDamage(void);
    
    	private:
    		TPoint Position;
    		float Angle;
    		int Speed;								// Speed_act
    		int Damage;					   			// Damage_grade
    };
    
    #endif
    

    TCarType.h

    //
    // TCarType class
    //
    
    #ifndef _TCARTYPE_H_
    #define _TCARTYPE_H_
    
    #include "vcl.h"
    
    class TCarType {
    	public:
    		TCarType(void);
    		TCarType(float fAccellerationSpeed, float fAccellerationCurve,
    			float fAccellerationBrake, float fSpeedMaximum, TColor tColor,
    			int iDamageMaximum);
    
    		void setAccellerationSpeed(float fSpeed);
    		void setAccellerationCurve(float fCurve);
    		void setAccellerationBrake(float fBrake);
    		void setSpeedMaximum(float fSpeed);
    		void setColor(TColor tColor);
    		void setDamageMaximum(int iDamage);
    
    		float getAccellerationSpeed(void);
    		float getAccellerationCurve(void);
    		float getAccellerationBrake(void);
    		float getSpeedMaximum(void);
    		TColor getColor(void);
    		int getDamageMaximum(void);
    
    	private:
    		float AccellerationSpeed;				// Accelleration
    		float AccellerationCurve;       		// Accell_lat
    		float AccellerationBrake;       		// Accell_brake
    		float SpeedMaximum;						// speed_max
    		TColor Color;
    		int DamageMaximum;
    };
    
    #endif
    


  • Du musst die CPP-Dateien dem jeweiligen Projekt hinzufügen(Menü 'Projekt' -> 'Hinzufügen').



  • Waaas? 😮 Verdammt, danke, verzeih' diese Anfängerfrage. 🙄


Anmelden zum Antworten