C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Zeiger übergeben

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
nils langholz
Guest





PostPosted: Tue Sep 02, 2003 1:12 pm    Post subject: Zeiger übergeben Reply with quote



Hallo Leute!

Ich habe ein (Anfänger)Problem bei C++ und zwar will ich ein Feld von
einem Objekt einer Klasse in ein anderes Objekt in eine andere Klasse
übergeben. Das herrausgeben in die main funktioniert auch schon, aber
das hineingeben in die nächste Klasse geht leider nicht.

Die Frage ist wo ist mein Denkfehler und wie mach ich es richtig ich
habe die einzelnen Teile nochmal angefügt:

Ausgabefunktion (funktioniert) (gekürzte Version matrix wird mit einer
anderen Methode definiert ( matrix=new int[X*Y]; ))

class MATRIX{
private:
int Z; // interne Gesamtgröße der matrix -1
int ZZ; // interne Position
public:
int* ausgabematrix;
int* uebergabe(void);
};

int* MATRIX::uebergabe(void)
{
ausgabematrix=new int[Z+3];
for( ZZ=3; ZZ <= (Z+3);ZZ++)
{ausgabematrix[ZZ] = matrix [ZZ-3];
}
return ausgabematrix;
}

meine Klasse in die es eingelesen werden soll

class FEHLSTELLEN{
private:
int Z;

public:
void einlesen(int*);
};
void einlesen(int* tt)
{
int Z = *tt;
}

Im Main habe ich folgendes:


MATRIX Messmatrix;
int* mm = Messmatrix.uebergabe();
FEHLSTELLEN Testmatrix;
Testmatrix.einlesen(mm);

bei der letzten zeile erhalte ich folgenden Fehlermeldung:
[Linker error] undefined reference to ´FEHLSTLLEN::einlesen(int*)`

wenn mir jemand einen Tipp gebn könnt wo mein Denkfehler ist wär ich
sehr dankbar

Tschau
Nils

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Jin Soo Hwang
Guest





PostPosted: Tue Sep 02, 2003 3:12 pm    Post subject: Re: Zeiger übergeben Reply with quote



nils langholz schrieb:

Quote:
int* MATRIX::uebergabe(void)
^^^^^^^^^^


Quote:
meine Klasse in die es eingelesen werden soll

void einlesen(int* tt)
^^^^^^
{
int Z = *tt;
}


bei der letzten zeile erhalte ich folgenden Fehlermeldung:
[Linker error] undefined reference to ´FEHLSTLLEN::einlesen(int*)`
^^^^^^^^^^^^

Kann es sein dass du was vergessen hast?

gruss

jin soo

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Heinz Saathoff
Guest





PostPosted: Tue Sep 02, 2003 3:33 pm    Post subject: Re: Zeiger übergeben Reply with quote



Moin Nils,

[snip Matrixcode]
Quote:
meine Klasse in die es eingelesen werden soll

class FEHLSTELLEN{
private:
int Z;

public:
void einlesen(int*);
^^^^^^^^^^^^^^^^^^^^

Das ist eine Memberfunktion von FEHLSTELLEN
Quote:
};
void einlesen(int* tt)
{
int Z = *tt;
}

einlesen ist eine globale Funktion, aber nicht die Memberfunktion
einlesen von FEHLSTELLEN. Als Memberfuntion schreibst Du das so

void FEHLSTELLEN::einlesen(int *tt)
{
int Z = *tt;
// willst Du hier wirklich ein lokales Z, welches
// FEHLSTELLEN::Z verdeckt? Falls Du den Member Z
// beschreiben willst, schreibst Du
Z = *tt;
}

Quote:
Im Main habe ich folgendes:


MATRIX Messmatrix;
int* mm = Messmatrix.uebergabe();
FEHLSTELLEN Testmatrix;
Testmatrix.einlesen(mm);

bei der letzten zeile erhalte ich folgenden Fehlermeldung:
[Linker error] undefined reference to ?FEHLSTLLEN::einlesen(int*)`

Klar, es gibt in Deinem Code ja keine Definition von
FEHLSTELLEN::einlesen(int*), sondern nur von einlesen(int*).


- Heinz

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.