Probleme mit eigenen includes
-
Irgendwas mache ich falsch, leider weis ich nicht was:
logisch.cpp
#include <iostream> #include "vergleich.h" using namespace std; int main() { cout<<"Hallo, wie gehts? gib mir mal 3 Integerzahlen durch Leerzeichen getrennt:\n"; int a=0,b=0,c=0; cin>>a>>b>>c; cout<<"Die groesste Zahl war: "<<vergleich(a,b,c)<<".\n"; }vergleich.cpp
#include<iostream> using namespace std; int vergleich(int a=0,int b=0,int c=0) { if((a>b)&&(a>c)) { return(a); } else if((b>a)&&(b>c)) { return(b); } else return(c); }vergleich.h
#ifndef __VERGLEICH_H #define __VERGLEICH_H int vergleich(int a,int b,int c); #endifFehlermeldung:
bobjob@commi:~/src/ueb$ g++ ./logisch.cpp -o logisch
/tmp/ccCV38sl.o(.text+0x84): In functionmain': : undefined reference tovergleich(int, int, int)'
collect2: ld returned 1 exit status
bobjob@commi:~/src/ueb$Kompilation von vergleich.cpp:
g++ -c ./vergleich.cpp -o vergleichSchonmal danke im voraus, bobjob
-
Ähm du musst das in den Header hauen:
int vergleich(int a=0,int b=0,int c=0);und in der source dann den kopf:
int vergleich(int a,int b,int c)
-
Du musst beide gemeinsam linken, nicht jedes einzeln.
Also entweder
g++ logisch.cpp vergleich.cpp
oder
g++ -c logisch.cpp
g++ -c vergleich.cpp
g++ logisch.o vergleich.o
-
Ach und bitte gib in main nen Wert zurück ansonsten ist das Programm soweit fehlerfrei

-
dali schrieb:
Ach und bitte gib in main nen Wert zurück ansonsten ist das Programm soweit fehlerfrei

muss er nicht, dies ist optional
-
danke an dali und Ringding
, funzt jetzt.