Bonjour,
J'ai une fonction qui attend un pointeur sur un int est-ce possible de faire un truc du genre &3 sans initilization ou déclaration car sa m'embete un peu de declarer une nouvelle variable pour juste ça ...
merci
Bonjour,
J'ai une fonction qui attend un pointeur sur un int est-ce possible de faire un truc du genre &3 sans initilization ou déclaration car sa m'embete un peu de declarer une nouvelle variable pour juste ça ...
merci
Salut,
non, c'est impossible: 3 est ce que l'on appelle une rvalue (une valeur qui ne peut se trouver qu'à droite de l'opérateur d'affectation), et, pour être précis, c'est ce que l'on appelle aussi un "littéral" (quelque chose qui représente une valeur bien précise), alors qu'il faut un pointeur sur ce que l'on appelle une lvalue (une valeur qui peut se trouver à gauche de l'opérateur d'affectation).
De plus, si ta fonction s'attend à recevoir un int * en paramètre, tu dois te dire que c'est sans doute pour pouvoir y écrire une information qui risque de t'intéresser. Cette information mérite bien d'avoir une variable qui la représente, tu ne crois pas
Enfin, si tu n'es vraiment pas intéressé par cette information (mais si le développeur a estimé que tu devais pouvoir en profiter, tu prendrais un sérieux risque en adoptant ce point de vue) et que la fonction est correctement codée, tu peux malgré tout transmettre nullptr qui correspond à une adresse invalide, et que la fonction devrait pouvoir prendre en compte.
Maintenant, nous pourrions sans doute bien plus facilement t'aider si nous savions de quelle fonction il s'agit ainsi que le nom du paramètre en question, car cela nous permettrait de déterminer plus facilement si -- oui ou non -- tu peux effectivement ignorer l'information sans danger
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager