struct an funktion übergeben
-
hallo,
ich habe bereits in diversen foren gesucht und mit deren ansätze keine lösung für das problem gefunden. die funktion ist wie folgt deklariert:
BOOL DoData2Display(G_FUNCTIONSTRUCT *p);Das struct wurde als typedef global angelegt:
typedef struct { .......... } G_FUNCTIONSTRUCT, *LPG_FUNCTIONSTRUCT; G_FUNCTIONSTRUCT pDP; G_FUNCTIONSTRUCT pDP_S;so versuche ich bislang vergebens das struct aufzurufen:
void CGraph::DataTransfer(LPVOID pParam) { if(pDP.d_dom != 0) { DoFT(pParam); DoData2Display(struct G_FUNCTIONSTRUCT pDP); } else { DoData2Display(struct G_FUNCTIONSTRUCT pDP_S); } }gruß cappaja
-
Versuch mal:
DoData2Display( &pDP );Du brauchst struct G_FUNCTIONSTRUCT nicht im Funktionsaufruf mit anzugeben. Das braucht man nur in der DEklaration der Methode / Funktion, damit der Compiler weiß, welche Parameter die Funktion / Methode haben will.
Gruß Kimmi
Edit: Vergessen, daß das ja ein Pointer sein soll.
-
das habe ich schon versucht allerdings folgende fehlermeldung erhalten: Konvertierung des Parameters 1 von 'G_FUNCTIONSTRUCT' in 'G_FUNCTIONSTRUCT *' nicht moeglich
Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
-
problem gelöst, ich musste lediglich einen pointer auf das struct vom typ
*LPG_FUNCTIONSTRUCT anlegen und diesen übergeber, mittels pDP hatte es leider nicht geklappt.gruß cappaja
-
na wenn du
G_FUNCTIONSTRUCT pDP;definiert hast, dann mußt du auch den Zeiger auf dein Struct angeben, also so:
DoData2Display( &pDP );
-
Oder du machst das so:
LPG_FUNCTIONSTRUCT pDP; ... DoData2Display( pDP );Wofür hat man schlielich die typedefs weiter oben deklariert :).
Gruß Kimmi