Veröffentlicht 17. März 200916 j ich hab ein ähnliches Problem... ich ich muss zum Primzahlenberechnenen C++ einen Array initialisieren der sehr viele Elemente enthält doch bei mir ist bei 100.000 Elementen Schluss Ich hoffe ihr könnt mir ne Antwort geben eine Sache noch mit Mehrdimensionalen Arrays funktioniert es auch nicht Vielen Dank im Voraus
17. März 200916 j kein .NET ähm so: class primzahl { public: long zahl; long stand; }; int main() { primzahl prim[100000], prim2[100000]; war das die Antwort auf deine Frage?
17. März 200916 j Ja, so wie du es anlegst wird der Speicher auf dem Stack angelegt welcher allerdings begrenzt ist. Leg die mal dynamisch auf dem Heap an primzahl *prim = new primzahl[100000][/PHP] Dann sollte es gehen. Vergiss aber nicht den Speicher mit delete wieder freizugeben wenn du ihn nicht mehr brauchst
10. Juni 200916 j Eine Frage: Macht es einen Unterschied, ob nun mit .Net programmiert wird oder nicht? Ich programmiere nämlich mit .Net. Habe nämlich ein kleines Problem, wenn ich das "delete" aufrufe. Zuerst kriege ich beim Debuggen gesagt, dass eine Assertion fehlgeschlagen ist, und danach kommt die Meldung, dass ein "corruption of the heap" vorliegt. Ich kann mir irgendwie noch nicht so ganz erklären, warum das beim delete kommt. denn wenn ich (vermutlich) vorher schon beim Schreiben den Speicher überscheiten sollte, dann würde ich doch an dieser Stelle den Fehler schon erwarten. Naja, muss da wohl mal weitersuchen, woran das liegt. Aber Tipps und Ratschläge, wie das zu lösen ist, nehme ich jederzeit gerne an. Gruß Kati82
10. Juni 200916 j Moin. Hört sich für mich irgendwie nach doppeltem Löschen oder falschen Arraygrößenangaben an. So als Tip in den Raum...
10. Juni 200916 j Habe den Fehler mittlerweile gefunden. Ich befülle ja mein Array stückchenweise mein Array. Irgendwie habe ich mich da wohl beim Rücksetzen auf die Anfangsadresse ein wenig verrechnet.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.