PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Syntaxfrage, pointer auf element einer klasse... in C++



soul_rebel
04-04-2005, 17:06
also jetzt erklärt mich bitte nciht für blöd, ich versuch das hier gerade hinzukriegen aber es will nciht klappen....
ich habe eine main-datei die zwei klassen lädt die nicht verwandt sind, aber eine klasse enthält objekte der anderen und ich brauch in der mein pointer of die memberobjekte der einen klasse (die objekte der anderen sind). klingt :confused: ? als code einfacher zu verstehen glaube ich:

KlasseA Haupt;
//Haupt hat ein array von KlasseB-Objekten die 'test' heißen
KlasseB *current;
//current soll auf das i-te test zeigen
current = &Haupt.test[i];
geht aber voll in die hose, mit:

bsdport.cpp: In constructor `CBSDPortGroup::CBSDPortGroup(char*, int)':
bsdport.cpp:673: error: no match for 'operator=' in '*((CBSDPortGroup*)this)->CBSDPortGroup::Port = (CBSDPort*)(((CBSDPort (*)[])operator new [](((((unsigned int)((CBSDPortGroup*)this)->CBSDPortGroup::m_iAmountOfPorts) * 60u) + 4u))), (((*((<anonymous> + 4u) - 4u)) <unknown operator> ((unsigned int)((CBSDPortGroup*)this)->CBSDPortGroup::m_iAmountOfPorts)), ((*(CBSDPort (*)[])({...})), <anonymous>)))'
bsdport.h:33: note: candidates are: CBSDPort& CBSDPort::operator=(const CBSDPort&)
bsdport.cpp:682: error: invalid use of `class CBSDPort'
wie muss das richtig lauten?

Joghurt
04-04-2005, 17:47
class Bar {};
class Foo
{
public:
Bar baz[100];
};

int main()
{
Foo f;
Bar* x;
x = &f.baz[20];
} geht bei mir problemlos. Du musst wohl etwas mehr Code posten.

soul_rebel
04-04-2005, 21:10
hm also nach sehr langer frickelei habe ich mich jetzt zu ein paar linker-errors hochgearbeitet(oder heruntergearbeitet?)
danke auf jeden fall