PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Programm bricht bei der Compilierung immer ab!!!



janosch
24-10-2004, 20:59
Moin!

Ich bin grad dabei ein kleines C++ Programm zu schreiben. Nachdem ich ein Paar zeilen Code geschreiben habe wolte ich es Compilieren jedoch schlegt dies fehl mit folgender Meldung:



fatal error LNK1120: 2 unaufgelöste externe Verweise
error LNK2019: Nicht aufgelöstes externes Symbol '"public: __thiscall Knoten::Knoten(void)" (??0Knoten@@QAE@XZ)', verwiesen in Funktion '_main'
error LNK2019: Nicht aufgelöstes externes Symbol '"public: __thiscall Data::Data(void)" (??0Data@@QAE@XZ)', verwiesen in Funktion '_main'


und hier der Code:

#include <iostream>
#include <string>

using namespace std;

//============================= Beginn Class Data ============================

class Data{

private:

string _name;

public:

void setData(string newdata){
_name=newdata;
}
string show_data(){
return _name;
}
Data(string newdata){
setData(newdata);
}
Data(void);
~Data(void);
};
//============================== End Class Data =============================
//============================= Beginn Class Knoten =========================
class Knoten{

private:

int _k_id;
Data *_data;

public:

Knoten *P_l;
Knoten *P_r;
void insert(Data *thedata){
_data=thedata;
};
void setKid(int k_id){
_k_id=k_id;
}
Data *getData(){
return _data;
}
int getKid(){
return _k_id;
}
Knoten(void);
~Knoten(void);

};
//============================= End Class Knoten ============================
//============================= Beginn Main ===================================

void show_tree(Knoten *p_knoten){
}
void insert(Data *pdata,Knoten *p_knoten,int k_id){



}

int main(void){


Knoten *baum = new Knoten;
Data *pdata =new Data;
baum = NULL;

int choice;
int status = 3;
int k_id = 0;
string input;

while(status!=-1){

cout << "***********************************************" << endl;
cout << "* (1) Baum Anzeigen *" << endl;
cout << "* (2) Knoten Loeschen *" << endl;
cout << "* (3) Knoten erzeugen/Daten eingeben *" << endl;
cout << "* (4) Sortieren/verschieben *" << endl;
cout << "* Beliebige Taste um das Programm zu beenden *" << endl;
cout << "***********************************************" << endl;
cin >> choice;

switch(choice){
case 1: show_tree(baum);

break;

case 2:

break;

case 3:
cout << "Geben Sie die Nutzdaten ein:" << endl;
cin >> input;

// baum=insert(pdata,baum,k_id);

break;

case 4:

break;

default: cout << "Das Programm wird beendet" << endl;
status = -1;
break;

}

}

return 0;
}


//============================== End Main ====================================



Die Fehler treten erst auf ,wenn ich diese zwei zeilen im Code habe:

Knoten *baum = new Knoten;
Data *pdata =new Data;

Vieleicht findet ja jemand die Fehler.

mfg janosch

P.S. Entwickelt wird mit Visual Studio.net

wraith
24-10-2004, 21:24
Du hast für die Standardkonstruktoren (und die Destruktoren) von Data und Knoten keine Implementierungen bereitgestellt.

Entweder du fügst diese noch hinzu zb.


class Data {
...
Data() {}
~Data() {}
};

oder du schmeißt sie komplett raus, bei Data sehe ich da in sowieso keine Verwendung für, und rufst gleich den Konstruktor mit Parameter auf.

janosch
24-10-2004, 21:28
THX habe ich total übersehen :eek:

mfg janosch