Hallo,
Ik heb een probleem, waarschijnlijk kijk er gewoon overheen, maar ik heb me nu al lang genoeg doodgestaart en gezocht(google, MSDN etc). Het probleem is dat het programma 'klapt' als je de constante iAtrr veranderd naar 98(althans bij mij). Ik krijg een assert error (= _CrtCheckMemory() ). Ik snap 'm niet want ik leeg het geheugen toch iedere keer met delete. Weet iemand hoe ik dit probleem kan oplossen?
Ik heb een probleem, waarschijnlijk kijk er gewoon overheen, maar ik heb me nu al lang genoeg doodgestaart en gezocht(google, MSDN etc). Het probleem is dat het programma 'klapt' als je de constante iAtrr veranderd naar 98(althans bij mij). Ik krijg een assert error (= _CrtCheckMemory() ). Ik snap 'm niet want ik leeg het geheugen toch iedere keer met delete. Weet iemand hoe ik dit probleem kan oplossen?
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| /* Dit programma voert een werking 10 keer uit. Deze bewerking is: - dynamisch aanmaken van een string (alloceren v/h geheugen) - 97 keer vullen van een string met 50 characters - vrijmaken van het geheugen(delete) */ #include "stdafx.h" #include <iostream.h> int _tmain(int argc, _TCHAR* argv[]) { const int iTimes = 10; const int iAtrr = 97; // bij 98 of hoger klapt 't proggie const int iLenght = 50; for(int x = 1; x<= iTimes; x++){ for(int i = 1; i <= iAtrr; i++) { // Aantal char *pTemp = new char[iLenght]; strcpy(pTemp,"1234567890"); int j = 1; do { strcat(pTemp,"1234567890"); j++; }while(j<=4); pTemp = NULL; delete[] pTemp; } cout << x << " times [done]\n"; } return 0; } |