J'utilise Visual Studio 2010. J'ai lu qu'en C++ il est préférable d'utiliser <cmath>
plutôt que <math.h>
.
Mais dans le programme que j'essaie d'écrire (application console Win32, projet vide) si j'écris :
#define _USE_MATH_DEFINES
#include <math.h>
il compile, alors que si j'écris
#define _USE_MATH_DEFINES
#include <cmath>
il échoue avec
erreur C2065 : 'M_PI' : identifiant non déclaré
Est-ce normal ? Est-ce que cela a de l'importance si j'utilise cmath ou math.h ? Si oui, comment puis-je le faire fonctionner avec cmath ?
UPDATE Si je définis _USE_MATH_DEFINES dans l'interface graphique, cela fonctionne. Avez-vous une idée de la raison pour laquelle cela se produit ?
0 votes
Vos fichiers sources sont-ils .c ou .cpp ?
1 votes
Suisse : cela ne devrait pas avoir d'importance ici.
0 votes
Très étrange... Je peux confirmer que j'ai le même problème avec VS2010 ... je cherche ce qui empêche la définition de passer ... il doit être undef'd quelque part ... mais je n'arrive pas à trouver où.
0 votes
Avec x86, il se plaindra de l'erreur C2065. Avec x64, il n'y a pas d'erreur.