मैं Visual Studio 2010 का उपयोग कर रहा हूं। मैंने पढ़ा है कि C ++ में इसके <cmath>बजाय उपयोग करना बेहतर है <math.h>।
लेकिन अगर मैं लिखता हूं तो प्रोग्राम में मैं लिखने की कोशिश कर रहा हूं (Win32 कंसोल एप्लिकेशन, खाली प्रोजेक्ट):
#define _USE_MATH_DEFINES
#include <math.h>
यह संकलित करता है, जबकि अगर मैं लिखता हूं
#define _USE_MATH_DEFINES
#include <cmath>
यह विफल रहता है
त्रुटि C2065: 'M_PI': अघोषित पहचानकर्ता
क्या यह सामान्य है? क्या यह मायने रखता है अगर मैं cmath या math.h का उपयोग करता हूं? यदि हाँ, तो मैं इसे कैसे काम कर सकता हूँ?
अद्यतन : अगर मैं GUI में _USE_MATH_DEFINES परिभाषित करता हूं, तो यह काम करता है। कोई सुराग क्यों ऐसा हो रहा है?