Kann eine .h Datei nicht includen
-
Hallo
bin neu hier.
Ich habe aus einem C++ buch folgenden Code abgeschrieben:
Ich habe eine ort1.h Datei:
#ifndef ort1_h #define ort1_h ort1_h class Ort1 { public: int X() const; int Y() const; void aendern (int x, int y); private: int xKoordinate, yKoordinate; }; #endifund die möchte ich in der ort1main.cpp includen:
#include "ort1.h" #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { Ort1 einOrt1; einOrt1.aendern(100, 200); cout << "Der Ort hat die Koorinaten x = " << einOrt1.X() << " und y = " << einOrt1.Y() << endl; system("PAUSE"); return EXIT_SUCCESS; }Geht aber nich. keine Ahnung wieso. Es lässt sich nicht kompillieren. Ich bekomme folgende Fehlermeldungen:
[Linker error] undefined reference to `Ort1::aendern(int, int)' [Linker error] undefined reference to `Ort1::Y() const' [Linker error] undefined reference to `Ort1::X() const' ld returned 1 exit status G:\programmieren\cpp\buch\5.2\Ort1\Makefile.win [Build Error] [ort1.exe] Error 1Kann mir jemand bitte helfen?

PS: Ich arbeite mit Bloodshed Dev-C++
-
Hallo,
das sind Linkerfehler. Mit der Inkludierung der Header-Datei hat das Problem nichts zu tun. Was fehlt sind die Definitionen der in der Header-Datei deklarierten Methoden. Du hast also die entsprechende cpp-Datei nicht übersetzt bzw. mitgelinkt.
-
danke sehr. währe ich nicht selber draufgekommen.