Was will der DEV-C++???
-
Hi,
ich habe diesen Quellcode aus Visual C++:
#include <iostream.h> #include <time.h> #include <dos.h> #include <stdlib.h> #include <stdio.h> typedef unsigned int UI; // Definition eines neuen Types const UI MAX = 30; const double VERSION = 0.01; class player { private: char* m_name; int m_rate; public: player(void); ~player(); int number; int gNumber(int number); }; int player::gNumber(int number) { srand( (unsigned) time(NULL) ); number = rand() % MAX; return number; } player::player(void) { m_rate = 0; m_name = 0; } player::~player() { if(m_name) { delete m_name; } } int main() { player Iplayer; cout << "Version: " << VERSION << endl; cout << "Zahl: " << Iplayer.gNumber(Iplayer.number) << endl; return 0; }
Wo er auch wunderbar funktionierte in dev-c++ konvertiert da kamen folgende Fehlermeldungen:
die_entscheidung.o(.text+0x12b):die_entscheidung.cpp: undefined reference to `endl(ostream &)'
die_entscheidung.o(.text+0x147):die_entscheidung.cpp: undefined reference to
cout' die\_entscheidung.o(.text+0x14c):die\_entscheidung.cpp: undefined reference to
ostream::operator<<(char const *)'
die_entscheidung.o(.text+0x157):die_entscheidung.cpp: undefined reference toostream::operator<<(double)' die\_entscheidung.o(.text+0x16d):die\_entscheidung.cpp: undefined reference to
endl(ostream &)'
die_entscheidung.o(.text+0x193):die_entscheidung.cpp: undefined reference tocout' die\_entscheidung.o(.text+0x198):die\_entscheidung.cpp: undefined reference to
ostream::operator<<(char const *)'
die_entscheidung.o(.text+0x1a3):die_entscheidung.cpp: undefined reference to `ostream::operator<<(int)'make.exe: *** [die_entscheidung.exe] Error 1
Ausführung beendet
Was will der jetzt von mir??
DANKE IM **Voraus!!
mfg IDK**
-
nochma ohne smilies *g*:
die_entscheidung.o(.text+0x12b):die_entscheidung.cpp: undefined reference to `endl(ostream &)'
die_entscheidung.o(.text+0x147):die_entscheidung.cpp: undefined reference to
cout' die\_entscheidung.o(.text+0x14c):die\_entscheidung.cpp: undefined reference to
ostream:perator<<(char const *)'
die_entscheidung.o(.text+0x157):die_entscheidung.cpp: undefined reference toostream:perator<<(double)' die\_entscheidung.o(.text+0x16d):die\_entscheidung.cpp: undefined reference to
endl(ostream &)'
die_entscheidung.o(.text+0x193):die_entscheidung.cpp: undefined reference tocout' die\_entscheidung.o(.text+0x198):die\_entscheidung.cpp: undefined reference to
ostream:perator<<(char const *)'
die_entscheidung.o(.text+0x1a3):die_entscheidung.cpp: undefined reference to `ostream:perator<<(int)'
-
kA Warum verwende den selber und habe keine Probleme, aber btw solltest du die neuen Header verwenden, der Link von Dimah folgt gleich
-
Hi!
Versuch mal statt #include <iostream.h>#include <iostream> using namespace std;
Das könnte der Fehler sein, bin mir bei Undefined Reference nicht sicher obs ein Compiler oder Linkerfehler ist
, denke aber eher Compilerfehler...
KaPtain Cugel
-
jo, der Link zum Thema:
Sollte man <iostream.h> oder <iostream> verwenden?
-
Da Kommt immernoch dieselbe Fehlermeldung:
#include <iostream> #include <time.h> #include <dos.h> #include <stdlib.h> using namespace std; typedef unsigned int UI; // Definition eines neuen Types const UI MAX = 30; const double VERSION = 0.01; class player { private: char* m_name; int m_rate; public: player(void); ~player(); int number; int gNumber(int number); }; int player::gNumber(int number) { srand( (unsigned) time(NULL) ); number = rand() % MAX; return number; } player::player(void) { m_rate = 0; m_name = 0; } player::~player() { if(m_name) { delete m_name; } } int main() { player Iplayer; cout << "Version: " << VERSION << endl; cout << "Zahl: " << Iplayer.gNumber(Iplayer.number) << endl; return 0; }
-
hmm sorry kann dir nicht helfen aber
typedef unsigned int UI; // Definition eines neuen Types
ich wollte schon immer wissen wozu typedef ist
-
Original erstellt von Dimah:
**hmm sorry kann dir nicht helfen abertypedef unsigned int UI; // Definition eines neuen Types
ich wollte schon immer wissen wozu typedef ist
**
das ist die allerseits beliebt art des kommentierens...
also ich mach das auch immer so:#include <iostream> //danke an lars für den hinweis :D using namspace std; int main() { int i; //erzeuge variable i vom typ int int j; //erzeuge variable j vom typ int cin >> i; //lese variable i von cin ein cin >> j; //lese variable j von cin ein int k = i+j //addiere i zu j und weise wert neuer variable k zu cout << k; //gebe wert von k aus (k ist i + j siehe eine anweisung weiter oben) cout << endl; // zeilenende, ausserdem flusht endl den puffer return 0; } //hier ist das ende des programms
[ Dieser Beitrag wurde am 28.08.2002 um 17:51 Uhr von japro editiert. ]
[ Dieser Beitrag wurde am 28.08.2002 um 17:51 Uhr von japro editiert. ]
[ Dieser Beitrag wurde am 28.08.2002 um 18:06 Uhr von japro editiert. ]
-
ist das Lerzeichen vor #include <iostream> nur hier?
und btw:
#include <time> //oder ctime?
#include <cstdlib>
und ist dos.h ein Standardheader? ich glaub net oder?
-
Original erstellt von japro:
**das ist die allerseits beliebt art des kommentierens...
also ich mach das auch immer so:include <iostream> using namspace std; int main() { //...
**
Du hast vergessen
include <iostream> // gibt ein Compilerfehler aus
:p
[ Dieser Beitrag wurde am 28.08.2002 um 17:55 Uhr von Lars Skiba editiert. ]
-
Bitte was gibt einen compiler fehler aus?? past doch!!
Typedef kann man einen neuen Typen erzeugen. z. B. unsigned short int ist ziemlich lang macht man ma
typedef unsigned short int UI;
dann muss man nimmer schreiben:
unsigned short int var=0;
sondern:
UI var = 0;einfach verkürtzt falls man das ma öfters braucht.
-
Ach ja der leerraum is nur hier!
-
Original erstellt von <IDK-ZERO>:
**Was will der jetzt von mir??
**Du linkst die Standard Library nicht dazu...
Musst mal Compilerdoku lesen und/oder dich ins Andere Compiler Forum verschieben lassen.if(m_name)
{
delete m_name;
}
das ist unnoetig. delete auf einen NULL Zeiger ist IMMER sicher... lass das if also weg
-
ich verschieb den thread mal ins 'ander compiler' forum vieleicht weiss da jemand weiter
-
versuch nal deine source dateien mit ".cpp" enden zu lassen
-
Hmm, ich habe das mal auf meinem Dev-C++ kompiliert und habe keinen Fehler bekommen. Läuft wunderbar. Aber mit anderen Codes hatte ich auch Probleme. Hab auch so ähnliche Fehlermeldungen bekommen.