8
votes

'Powf' n'est pas membre de 'std'

J'ai une erreur lors de la compilation d'une bibliothèque utilisant Xcode:

'powf' is not a member of 'std'


2 commentaires

À partir de juin 2019, la norme C ++ 17 indique explicitement que déclare powf (ainsi que Sinf , logf , etc.) Dans Nomspace Std , mais libstDC ++ est toujours buggy. Voir Cette question à propos de C ++ 17.


Je vote pour fermer cette question parce que c'est 10 ans et 4 versions C ++ ancien; Les réponses sont principalement de la forme "qui n'est pas standard C ++ 03"; Ce n'est tout simplement plus utile sur le site IMHO.


3 Réponses :


3
votes

Il est nommé std :: pow et surchargé pour float et double . .


0 commentaires

4
votes

Utilisez juste pow - powf n'est pas standard.


0 commentaires

14
votes

jusqu'à C ++ 11, powf était juste un Microsoft-ism . Il n'est pas apparu dans la norme ISO du tout, il est peu probable qu'il soit dans Xcode à moins d'adapter les pratiques bizarres de Microsoft, quelque chose que je penserais improbable.

pow , d'autre part, fait partie de la bibliothèque C ++ plus longtemps en vertu du fait que c'est dans les itérations antérieures de la bibliothèque C intégrée à C ++ Pre-11. Utilisez cela à la place.

Depuis C ++ 11, POWF est-ce que apparaît dans la norme ISO et fait partie de l'espace de noms std .

Néanmoins, il existe des implémentations non conformes par exemple, GCC LIBSTDC ++. Plus de ressources dans cet extrait pris à partir d'une discussion dans Page de discussion CPPRARefolle :

Les réponses postées ci-dessus étaient correctes avant C ++ 11, puisque C ++ 98/03 n'avait pas encore référence à la bibliothèque C99. Selon le Standard actuel , POWF est déclaré dans Espace de noms std quand est inclus (mentionné explicitement depuis C ++ 17, mentionné implicitement en C ++ 11/14, voir aussi N4659 , N4140 et N3337 ). Pour std :: POWF , GCC LIBSTDC ++ n'est pas conforme tandis que CLANG LIBC ++ est . --Frudica (Talk) 03h49, 19 février 2019 (PST)

Voir aussi Ceci, plus récent, donc Réponse: https://stackoverflow.com/a/54735351 --Cubbi ( Talk) 08:10, 19 février 2019 (PST)


0 commentaires