Hallo,
Wir besprechen im CPP-Unterricht gerade Structs, in einer Übungsaufgabe
soll ein Programm geschrieben werden, dass die Struktur Datum über
Funktionen einliest. Dabei soll in der Main eine Struktur von Typ Datum
erstellt, eingelesen und ausgegeben werden.
Die Funktionen zur Ein/Ausgabe stehen in Datum.cpp.
Die Struktur Datum selbst, sowie die Funktionen zur Ein/Ausgabe stehen
in der Datum.hpp.
Problem ist nun, dass der Linker die Fehlermedlung:
"Undefined Reference to einlesen(Datum)" zurückgibt.
Der Code sieht so aus: Main.cpp
1 | #include <cstdlib>
|
2 | #include <iostream>
|
3 | #include "Datum.hpp"
|
4 | using namespace std;
|
5 |
|
6 | int main(int argc, char *argv[])
|
7 | {
|
8 | Datum meinD;
|
9 | cout<<"Test";
|
10 | einlesen(meinD);
|
11 | ausgeben(meinD);
|
12 | system("PAUSE");
|
13 | return EXIT_SUCCESS;
|
14 | }
|
Datum.cpp
1 | #include <cstdlib>
|
2 | #include <iostream>
|
3 | #include "Datum.hpp"
|
4 | using namespace std;
|
5 |
|
6 | void einlesen(Datum &d)
|
7 | {
|
8 | cout<<"Bitte Tag eingeben ";
|
9 | cin>>d.tag;
|
10 | cout<<"\n Bitte Monat eingeben ";
|
11 | cin>>d.monat;
|
12 | cout<<"\n Bitte Jahr eingeben ";
|
13 | cin>>d.jahr;
|
14 | }
|
15 |
|
16 | void ausgeben(Datum d)
|
17 | {
|
18 | cout<<"Tag "<<d.tag<<" / Monat "<<d.monat<<" / Jahr "<<d.jahr;
|
19 | }
|
Datum.hpp
1 | struct Datum
|
2 | {
|
3 | int tag;
|
4 | int monat;
|
5 | int jahr;
|
6 | };
|
7 |
|
8 | void einlesen(Datum);
|
9 | void ausgeben(Datum);
|
Warum findet er die Funktion einlesen nicht?
In der Main.cpp wird Datum.hpp includet
in Datum.hpp stehen auch die Signaturen der Funktionen.