Rechercher : dans
Par :

Invalid conversion from‘const void*&

Dernière réponse le 10 jui 2008 à 13:23:44 jeje-50, le 10 jui 2008 à 01:10:40 
 Signaler ce message aux modérateurs

Bonjour,
Voila j 'ai cette erreur en c++

 error: invalid conversion from ‘const void*’ to ‘void*’
 error:   initializing argument 2 of ‘ssize_t recv(int, void*, size_t, int)’


voici le code :
string buffer_pass = "";
recv_pass = recv(s_accept, buffer_pass.c_str(), buffer_pass.size(),0);


Vous avez une idée ??

Meilleures réponses pour « invalid conversion from‘const void*& » dans :
[mythes] 1 Kilo-octet = 1024 octets VoirMythe 1 ko = 1 kilo-octet = 1024 octets Réalité FAUX Explications Aux débuts de l'informatique, on travaillait très bas niveau (langage proche du microprocesseur). Or ce dernier travaillant avec des bits (base 2), toutes les unités de stockage...
[PDF] Convertir des PDF en images (JPEG, BMP, GIF, etc...) VoirSi vous avez des documents PDF et que vous voulez les convertir en images (JPEG, GIF, BMP, ou n'importe quel format), de manière à les exploiter, par exemple dans un logiciel d'OCR ou de retouche/création d'images : Note : Cet article présente une...
[Audio] Conversion d'un fichier au format WMA en MP3 VoirPour convertir un fichier audio au format WMA en MP3, il suffit d'utiliser un logiciel de conversion tel que l'un des suivants : Free Mp3 Wma Converter dBpower-AMP Music Converter (DMC) MediaCoder GX::Transcoder Par ailleurs, il est à...
Télécharger IPod Converter VoirDestiné aux heureux possesseurs d'iPod vidéo, le logiciel iPod Converter permet de convertir des fichiers au format MPEG, AVI, Quicktime et WMV vers les formats Mpeg4 et H264, les seuls formats supportés par l'iPod vidéo. Mise à jour effectuée le...

1

kilian, le 10 jui 2008 à 04:51:22

Salut,

Oui tu ne devrais pas utiliser un string mais plutôt un tableau de char.
Je sais bien qu'on est en C++ et pas en C mais ici tu n'as pas le choix.

En fait c'est simple: la classe string encapsule un char *
Et justement étant donné que l'on parle d'encapsulation, il faut que la classe string, avec sa méthode c_str(), s'assure que la chaine retournée ne sera pas modifiée car tu es sensé utilisé les méthodes de string pour faire ça. Donc il faut que tu aies uniquement un accés en lecture seule à cette chaine. C'est pourquoi la méthode retourne un const char *, qui sera donc converti en const void * à la volée dans le passage à recv. Or recv attend un void *, c'est à dire un buffer qu'il est sûr de pouvoir modifier, ce qui n'est pas le cas ici.

Tu dois donc prendre un tableau de char, alloué dynamiquement ou pas c'est toi qui décide.

...et euh..ouais nan bah c'est tout...

Répondre à kilian

2

 jeje-50, le 10 jui 2008 à 13:23:44

Merci beaucoup
je vais utiliser un char alors

Répondre à jeje-50