Odzilla
09-05-2005, 13:01
Hi,
ich habe eine Klasse 'cMyServer', die eine Funktion 'GetIt' bietet, die einen string aus der Klasse ausgibt.
class cMyServer : public cMyData
{
public:
cMyServer(int num, char name[100]):cMyData(num){ strcpy(itsName,name); }
virtual ~cMyServer() {}
virtual void Show() { cMyData::Show(); cout << itsName << endl; }
virtual int Test(const cMyServer &);
virtual const char * GetIt() { return itsName; }
private:
char itsName[100];
int itsValue;
};
Ausserdem bietet die Klasse eine Funktion, die ihren eigenen string 'itsName' mit dem einer anderen cMyServer Instanz vergleicht (virtual int Test(const cMyServer &))
int cMyServer::Test(const cMyServer & other)
{
if(strcmp(this->GetIt,other.GetIt)==0) return 1;
else return 0;
}
Leider führt die Funktion zu einem Compilerfehler, den ich nicht so ganz verstehe.
data2.cc: In member function `virtual int cMyServer::Test(const cMyServer&)':
data2.cc:26: error: argument of type `const char*(cMyServer::)()' does not
match `const char*'
Die Rückgabetypen von this->GetIt und other.GetIt sollten ja gleich sein, da es sich um die selbe Funktion handelt.
Hat jemand ne Ahung, wie man das hinbekommt, bzw, wo mein Fehler liegt?
ich habe eine Klasse 'cMyServer', die eine Funktion 'GetIt' bietet, die einen string aus der Klasse ausgibt.
class cMyServer : public cMyData
{
public:
cMyServer(int num, char name[100]):cMyData(num){ strcpy(itsName,name); }
virtual ~cMyServer() {}
virtual void Show() { cMyData::Show(); cout << itsName << endl; }
virtual int Test(const cMyServer &);
virtual const char * GetIt() { return itsName; }
private:
char itsName[100];
int itsValue;
};
Ausserdem bietet die Klasse eine Funktion, die ihren eigenen string 'itsName' mit dem einer anderen cMyServer Instanz vergleicht (virtual int Test(const cMyServer &))
int cMyServer::Test(const cMyServer & other)
{
if(strcmp(this->GetIt,other.GetIt)==0) return 1;
else return 0;
}
Leider führt die Funktion zu einem Compilerfehler, den ich nicht so ganz verstehe.
data2.cc: In member function `virtual int cMyServer::Test(const cMyServer&)':
data2.cc:26: error: argument of type `const char*(cMyServer::)()' does not
match `const char*'
Die Rückgabetypen von this->GetIt und other.GetIt sollten ja gleich sein, da es sich um die selbe Funktion handelt.
Hat jemand ne Ahung, wie man das hinbekommt, bzw, wo mein Fehler liegt?