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.
Configuration: Linux
Firefox 3.0.13

1 réponse

  1. 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
    1. loupius
       
      Il faut évidemment lire:
      - soit déclarer OctMap comme signed char*.
      Mille excuses.
      0