Wer ist der Böse? Codeguard, AnsiString oder etwa ich???
-
Hi zusammen,
ich hab ein kleines Problem mit AnsiString und dem Codeguard. Und zwar hab ich im Header-Datei folgendes:
struct ConnectStruct{ AnsiString Name; int Anzahl[10]; AnsiString Pfad[4]; }Eintrag[10];und in der eigentlichen C-Datei
for (int i=0; i<10; i++) { for (int j=0; j<4; j++) { Eintrag[i].Pfad[j] = ini->ReadString("Test","Pfad " + IntToStr(j), ""); } }Bei der Zeile wo die Zuweisung kommt meckert mich CodeGuard immer an "Zeigerarithmetik in ungültigem Speicher". Was zum Henker soll das heißen?
Schon mal vielen Dank im Voraus!
Phips!
-
Jetzt hab ich das grad nochmal anders ausprobiert
for (int i=0; i<10; i++) { Eintrag[i].Pfad[0] = ini->ReadString("Test","Pfad " + IntToStr(0), ""); Eintrag[i].Pfad[1] = ini->ReadString("Test","Pfad " + IntToStr(1), ""); Eintrag[i].Pfad[2] = ini->ReadString("Test","Pfad " + IntToStr(2), ""); Eintrag[i].Pfad[3] = ini->ReadString("Test","Pfad " + IntToStr(3), ""); }Da sagt Codeguard nix mehr von wegen ungültige Zeigeroperationen. Also ich verstehs echt nicht.
Phips!
-
Ich kanns ja kaum glauben, hat hier keiner Probleme mit dem Codeguard?
Oder benutzt den einfach niemand weil derjenige sowieso _immer_ perfekten Code schreibt?
-
Ich kann das Problem nicht nachvollziehen. Der CodeGuard meines BCB6 hat daran nichts auszusetzen.
-
Könnte es an dem IntToStr liegen? Ich meine, dass er nicht die Variable auswerten kann. Ansonsten bin ich überfragt

-
Phips! schrieb:
...
Oder benutzt den einfach niemand weil derjenige sowieso _immer_ perfekten Code schreibt?
ja, wir sind hier alle perfekt 
-
vielleicht wirst du ja hier fündig: