Freigeben von Strukturen
-
Moin Moin,
ich stehe mich momentan (abgesehen von Schulzeiten) das erste mal mit C++ konfrontiert und habe da natürlich so meine Probleme, die sich bisher mir einier Recherche beseitigen ließen. An einer Stelle bin ich momentan aber am Verzweifeln:
Ich habe eine miserabel dokumentierte .dll eines Softwareanbieters und muss dort die Funktions "group" aufrufen. Diese sieht folgendermaßen aus:GROUPER_API int group(GrouperResult* grouperResult, PatientCase* patientCase);Dazu bin ich auch tatsächlich noch in der Lage.

PatientCase Patient; //PatientCase ist ein Struct mit mehreren Feldern vom Typ int und char* new PatientCase(Patient); /* ... Fülle PatientCase... */ GrouperResult GResult; //GResult enthält einige Felder vom Typ char* und enum new GrouperResult(GResult); return group(&GResult, &Patient);Mein Problem ist aber, dass ich beim 2ten Klick auf den Button, der dies ausführt, eine Zugriffsverletzung erhalte. Ich vermute, dass es daran liegt, dass ich die beiden Strukturen Patient und GResult freigeben muss (Daher auch der Titel). Dummerweise weiß ich aber nicht, wie ich das anstelle. free(); und delete sorgen jedenfalls dafür, dass mir das Programm um die Ohren fliegt..

-
Die Zeilen mit dem new kannst du ersatzlos streichen, da sie ausser Speicherlecks nichts weIteres machen. Free oder delete ist (dann) nicht notwendig. Du wirst wohl nicht um das C++ Lernen herum kommen ...