ich hab ein Problem, was sich glaub ich nicht in 2 Sätzen zusammenfassen lässt. Ich habe ein sehr umfangreiches Programm und versuche mal die wichtigen Dinge zu posten:
Code: Alles auswählen
class ClassA{
public:
ClassA();
private:
struct daten{
int xyz;
...
}
struct daten *pointer;
}
Code: Alles auswählen
class ClassB{
public:
ClassB();
void readClassA(struct daten &pointer);
}
Code: Alles auswählen
ClassA::ClassA(){
pointer = new daten[10]
klasseB=new ClassB;
klasseB->readClassA(pointer);
...
}
Code: Alles auswählen
void ClassB::readClassA(struct daten &pointer){
...
}
Klasse A verwaltet eine große Menge an Daten, die im Array stehen.
Klasse B soll den eigentlichen Lesevorgang (von Netzwerk-Sockets) durchführen und alles gelesene dann in das Array speichern.
Der grundsätzliche Programmablauf funktioniert auch. Allerdings schaff ich es nicht, der readClassA-Funktion (die ja in Klasse B definiert ist) den zeiger auf das Array zu übergeben.
Es kommen immer folgende Fehlermeldungen:
Ich habe schon vieles ausprobiert... Referenzen, Zeiger aber irgendwie will das alles nicht...no matching function for call to ClassB::readClassA(ClassA::daten&)
canidates are: void ClassB::readClassA(daten&)
wenn ich z.B. void readClassA(ClassA::daten &pointer); in ClassB zu definierten, sagt der mir, dass ClassA nicht declariert ist.
Könnt ihr mir helfen, dieses Problem zu lösen? Habt ihr irgendwelche Tips?
Vielen Dank!
P.S.: Wenn ihr vorschläge zu ner Besseren Überschrift habt....immer her damit. Ich wusste nicht, wie ich das Problem in einem Satz beschreiben soll...