Error bei Übergabe von Arrays in VC6.0
-
hi
In einem Objekt gibts die Methode
char* AufnahmeKlasse::StrZeit();
{
...
char *Zeit = new char[9];
...
return Zeit;
}In meiner Callbackfunktion wird der String entgegengenommen mit:
char *Zeit = Aufnahme->StrZeit();
Und dabei knallts.. (0xC000001D: Illegal Instruction) komischerweise nur in der release config, mit debug funktioniert alles einwandfrei.
Weiss einer woran das liegt?
danke
Till
-
Hm, der Code, der zu sehen ist, ist in Ordnung (solange du den mit new reservierten Speicher wieder freigibst
)
Vielleicht kopierst du irgendwo über das Speicherende hinaus?Grüße Rapha
-
ja, ich schmeiss den Speicher mit free(Zeit); nachher wieder weg.
Der Fehler tritt aber genau in der Zeile
char *Zeit = Aufnahme->StrZeit();
auf. Das hab ist das einzige was ich herrausfinden konnte.
-
Ich weiss worans liegt...
Das String wird mit der sprintf funktion bearbeitet.
Und da läuft was schief... Der Fehler trat dann aber erst bei der Rückgabe auf.Macht einen grossen Bogen um sprintf!!
Jeder der diese Warnung in den Wind schlägt wird früher oder später zur Hölle fahren!