Bonjour tout le monde !
J'essaie de remplacer un new[] dans mon programme par un VirtaulAlloc(), mais ça ne fonctionne pas.
Je m'explique !
Le new[] de départ :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
buffer = new short[size];
J'essaie de faire ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
buffer=(short *)VirtualAlloc(0,size,MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE)
L'allocation se passe bien, mais quand j'essaie d'écrire :
J'ai une exception, qui me dit que je n'ai pas le droit d'écrire...

Je pense que c'est lié au fait que size est spécifié en byte, et que donc il faudrait ajouter un sizeof(short), mais ça me fait la même chose (à une adresse deux fois plus grande !)...

Qu'est-ce que j'ai oublié ?
Merci d'avance !