この記事はc言語(C++)のコード内でmath.hをインクルードしているのに「E0020 識別子 “M_PI” が定義されていません」とエラーが発生してしまう状況の改善法を説明しています。この状況はVisual Studioで発生します。
実行した環境
・ Windows8.1
・ Visual Studio 2019 Community
方法
「#include <math.h> 」の上に次の行を貼り付けます。
#define _USE_MATH_DEFINES
次のコードではM_PIを表示し、sin(M_PI),cos(M_PI)を計算して表示しています。
#include <stdio.h>
#define _USE_MATH_DEFINES
#include <math.h>
int main() {
printf("M_PI %3.10f\n", M_PI);
printf("sin(M_PI) %3.10f\n", sin(M_PI));
printf("cos(M_PI) %3.10f\n", cos(M_PI));
return 0;
}
実行結果
他のコンパイラでは
上記のコードをCygwinのgccでコンパイルしてみたのですが「#define _USE_MATH_DEFINES」がなくても動作します。
実行結果
この記事は以上です。