Probleme avec fonction read

Abdel -  
 loupius -
Bonjour,
J'ai besoin de reprendre un programme que je n 'ai pas développé mais j'ai des soucis lors de la compilation :

conversion invalide de "unsigned char*" vers "signed char*"

lebug correspond à la partie en gras apparemment :

const long MapSize = 262144;

ifstream InFile(aFilePath, ios::in);
{
unsigned char * OctMap = new unsigned char[MapSize];
if (InFile.read(OctMap, MapSize*sizeof(char)) ) {
...
}

Avez-vous des pistes pour m'aider ?
merci

A.
A voir également:

1 réponse

loupius
 
Je ne suis pas certain de ma réponse, mais comme personne ne le fait cela te donnera peut-être une piste pour résoudre ton problème.
En considérant que la ligne en erreur est bien celle que tu as donnée, je pense que le message est clair:
- la méthode 'read' attend un signed char* comme premier paramètre et tu lui donnes un unsigned char*, alors il y a 'râlerie' et c'est normal.
Pour résoudre le problème, tu as 2 solutions:
- soit effectuer un 'cast' sur OctMap,
- soit déclarer OctMap comme unsigned char*.
En espérant que cette réflexion t'aidera, je te souhaite une bonne journée.
0
loupius
 
Il faut évidemment lire:
- soit déclarer OctMap comme signed char*.
Mille excuses.
0