Les pointeurs présentent des problèmes particuliers pour la résolution de surcharge.Problèmes de pointeur avec surcharge en C++?
Say par exemple,
void f(int* x) { ... }
void f(char* x) { ...}
int main()
{
f(0);
}
Quel est le problème avec l'appel f (0)? Comment puis-je corriger l'appel de fonction pour f (0)?
Est-ce parce que les caractères sont représentés par des nombres ou? –
C'est parce que vous ne pouvez pas déduire le type à partir de zéro –
0 signifie null pointeur en C++. Donc, ce pourrait être un int * null ou un caractère nul *. Le compilateur ne peut pas déterminer lequel. – Michael