S
sw33tlull4by
Guest
Hi!
Ich sitze seit ca. 2 Tagen vor meinem Code und finde den Fehler nicht.
Obiger Fehler kommt immer wenn ich versuche mein Projekt mit
g++ projektmain.cpp
zu kompilieren.
g++ jede.cpp einzelne.cpp datei.cpp
fuehrt auch nicht zum gewuenschten Ergebniss.
Als ich ein Minimalbeispiel schreiben wollte habe ich das natuerlich versaut.
Mein Beispiel funktioniert naemlich(das da einige wiedersinnige sachen drin sind ist mir klar aber auch egal).
Bei dem Beispiel kam es mir vor allem darauf an herauszufinden ob ich mit den virtuellen Funktionen ,der abstrakten Klasse und der Vererbung was falsch gemacht hatte.
Ich denke mal ich habe wieder Probleme mit den Headerdatein, den der Linker scheint nicht genuegend Infos zu bekommen( exit status 1)
Alle Datein welche nicht inline definiert sind sind in den dazugehoerigen Cpp-Datein definiert und diese Cpp-Datein includieren nur ihre eigene Headerdatei.
Wenn ich in projektmain.cpp die Aufrufe filereadingcompare(); bzw filereadingfind();
auskommentiere kompilliert es.
Danke im vorraus.
mfg
sw33t
Ich sitze seit ca. 2 Tagen vor meinem Code und finde den Fehler nicht.
Obiger Fehler kommt immer wenn ich versuche mein Projekt mit
g++ projektmain.cpp
zu kompilieren.
g++ jede.cpp einzelne.cpp datei.cpp
fuehrt auch nicht zum gewuenschten Ergebniss.
Als ich ein Minimalbeispiel schreiben wollte habe ich das natuerlich versaut.
Mein Beispiel funktioniert naemlich(das da einige wiedersinnige sachen drin sind ist mir klar aber auch egal).
Bei dem Beispiel kam es mir vor allem darauf an herauszufinden ob ich mit den virtuellen Funktionen ,der abstrakten Klasse und der Vererbung was falsch gemacht hatte.
#include<iostream>
#include<string>
#include<map>
using std::cout;
using std::endl;
class einmal
{
public:
int var;
einmal(int*,std::multimap<std::string,std::string>);
virtual void working(int)=0;
virtual ~einmal(){};
};
einmal::einmal(int *i,std::multimap<std::string,std::string> ha)
{
var = *i;
}
class zweimal : public einmal
{
public:
zweimal(int*,std::multimap<std::string,std::string>);
void working(int);
virtual ~zweimal(){};
};
zweimal::zweimal(int *i,std::multimap<std::string,std::string> hu):einmal(i,hu){};
void zweimal::working(int i)
{
cout<<var<<" und hoeher "<<var+4<<endl;
}
int main()
{
int ta = 4;
std::multimap<std::string,std::string> was;
zweimal test(&ta,was);
test.working(3);
return 0;
}
#include<string>
#include<map>
using std::cout;
using std::endl;
class einmal
{
public:
int var;
einmal(int*,std::multimap<std::string,std::string>);
virtual void working(int)=0;
virtual ~einmal(){};
};
einmal::einmal(int *i,std::multimap<std::string,std::string> ha)
{
var = *i;
}
class zweimal : public einmal
{
public:
zweimal(int*,std::multimap<std::string,std::string>);
void working(int);
virtual ~zweimal(){};
};
zweimal::zweimal(int *i,std::multimap<std::string,std::string> hu):einmal(i,hu){};
void zweimal::working(int i)
{
cout<<var<<" und hoeher "<<var+4<<endl;
}
int main()
{
int ta = 4;
std::multimap<std::string,std::string> was;
zweimal test(&ta,was);
test.working(3);
return 0;
}
Ich denke mal ich habe wieder Probleme mit den Headerdatein, den der Linker scheint nicht genuegend Infos zu bekommen( exit status 1)
Alle Datein welche nicht inline definiert sind sind in den dazugehoerigen Cpp-Datein definiert und diese Cpp-Datein includieren nur ihre eigene Headerdatei.
Wenn ich in projektmain.cpp die Aufrufe filereadingcompare(); bzw filereadingfind();
auskommentiere kompilliert es.
Danke im vorraus.
mfg
sw33t