|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité régulier
![]() Inscription : octobre 2008 Messages : 41 ![]() |
Salut,
Mon probléme ce que j'utilise des bibliothéque qui ne sont pas la mienne et qui impose des types de retour comme vous l'avez vu voila j'utilise une fonction qui demande j'ai utilisé ce portion de code et ça marche car il demande qu'il se termine par '\0' Code :
---- j'utilise une fonction qui demande une adresse sur pointeur sur unsigned char si je ne me trompe pas voila ce que demande en message d'erreur si je ne met pas le type voulu Code :
Code :
Merci pour votre aide
|
||||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() |
Le type demandé est référence C++ sur pointeur.
C'est là qu'on rencontre la différence en tableau et pointeur: Un tableau est implicitement convertible en pointeur, mais n'en est pas un pour autant. Tu ne peux donc pas obtenir d'adresse de pointeur ou de référence de pointeur en pointant sur le tableau. En clair, je conseillerais ceci pour commencer: Code C++ :
__________________
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant. "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?" Apparently everyone. -- Raymond Chen. Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen. |
||
|
|
00
|
|
|
#3 | ||
|
Membre à l'essai
![]() Inscription : avril 2010 Messages : 27 ![]() |
Hello,
Ce type est un type C++, cela n'existe pas en C. (référence sur pointeur de char) Ensuite, l'erreur de programmation que tu as fait est assez subtile si tu débutes. Prérequis : il faut que tu apprennes ce que c'est qu'une référence Ensuite, la chose qu'il faut comprendre, c'est que le nom d'un tableau déclaré ainsi ne désigne pas pas une variable. En fait, c'est un pointeur vers le premier élément de ton tableau, sauf que ... ce pointeur n'existe pas, et c'est là que c'est subtil. Comment est-ce possible ? En fait, la valeur de ce pointeur est déterminée à la compilation grâce au registre de pile, et non à l'éxecution => d'un point de vue bas niveau, il serait redondant, inutile, et plus compliqué de créer une vraie variable pour stocker l'adresse ! Pour comprendre : Code :
Si tu ne comprends pas de suite, c'est peut être normal (et peut-être de ma faute), en tous cas, ce n'est pas forcément évident |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com