ฉันกำลังใช้ 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? ถ้าใช่ฉันจะทำให้มันทำงานกับ cmath ได้อย่างไร?
UPDATE : ถ้าฉันกำหนด _USE_MATH_DEFINES ใน GUI มันก็ใช้ได้ มีเงื่อนงำอะไรที่เกิดขึ้น?