[.NET]D�claration de tableaux et initialization de pointeurs
Bonjour,
on m'a demand� r�cemment de faire une petite application de tests sous Visual Studio.NET 2003 en C++. Jusqu'� pr�sent je n'y travaillais qu'en C# (et sous Borland c++ Builder ou gcc en C++).
Donc j'ai cr�� une nouvelle solution "Projets Visual C++" => "Application Windows Form (.NET)".
Dans cette application, je veux juste faire quelques traitements sur des buffers (membres de la classe Form1) en utilisant des pointeurs (d�clar�s en local dans mes m�thodes) pour naviguer dans ces buffers.
D�s le d�but, j'ai butt� sur la d�claration dans la classe de mes buffers. J'ai contourn� le probl�me en les d�clarant dans mes m�thodes : c'est pas propre mais c'�tait pas important dans l'instant.
Oui mais voil�, les traitements dans mes m�thodes se complexifiant, le nombre de buffers augmente et j'ai donc une jolie exception StackOverFlow � l'ex�cution.
Donc je d�clare le buffer dans la classe :
Code:
unsigned char buffer __nogc[256];
Mais ensuite je ne parviens pas, dans ma m�thode, � initialiser un pointeur sur ce buffer :
Code:
1 2
| unsigned char * ptrBuffer = &buffer[0];
=>error C2440: 'initialisation' : impossible de convertir de 'unsigned char __gc *' en 'unsigned char *' |
Code:
1 2
| unsigned char * ptrBuffer = (unsigned char * )&buffer[0];
=>error C2440: 'cast de type' : impossible de convertir de 'unsigned char __gc *' en 'unsigned char *' |
Code:
1 2
| unsigned char __nogc * ptrBuffer = (unsigned char __nogc *)buffer;
=>error C2440: 'cast de type' : impossible de convertir de 'unsigned char [256]' en 'unsigned char *' |
...
Bref, apr�s de nombreuses combinaisons (c'est triste d'essayer de r�soudre un probl�me de compilation de cette fa�on) , je ne parviens pas � trouver l'utilisation correcte. Je sais que mon probl�me est li� � l'utilisation des extensions manag�es (l'option de compilation /clr) mais j'arrive pas � exploiter l'info.
Donc avis aux experts (dont je ne fais h�las pas parti).
Merci.
Flo.