Lorsque je change la version du compilateur de gcc 4.6 à gcc 4.8, j'obtiens l'erreur suivante erreur: l'appel de 'isnan (double) surchargé' est ambigu.portage isnan à C++ 11
En effet, dans C++ 11 il y a des déclarations de fonction differend: C: int isnan (double) C++ 11: bool isnan (double)
de cpluplus:
- En C, ceci est implémenté comme une macro qui renvoie une valeur int. Le type de x doit être flottant, double ou long double.
- En C++, il est implémenté avec des surcharges de fonction pour chaque type à virgule flottante, chacune renvoyant une valeur booléenne.
Comment puis-je résoudre ce problème?
Comment allez-vous l'appeler? Montrez-nous le contexte. –
suggestion de juanchoupanza travaillé. J'avais déclaré utiliser l'espace de noms std auparavant, mais je devais le préfixer de toute façon à l'appel isnan parce que c'était une source d'ambiguïté. –
C'est exactement ce qui ne va pas avec 'use namespace std' partout. –