İlginç bir şekilde bunu bir uygulamamda kontrol ettim ve aynı hatayı aldım.
Bir süre üstbilgileri kontrol ederek bir şey olup olmadığını kontrol ettim _USE_MATH_DEFINESve hiçbir şey bulamadım.
Ben de taşıdım
#define _USE_MATH_DEFINES
#include <cmath>
dosyamdaki ilk şey olmak (PCH kullanmıyorum, bu yüzden eğer öyleyse, sonra ona sahip olmak zorunda kalacaksın #include "stdafx.h") ve aniden mükemmel bir şekilde derleniyor .
Sayfanın yukarısına taşımayı deneyin. Yine de bunun neden sorunlara neden olacağından tamamen emin değilim.
Düzenleme : Anladım. #include <math.h>Cmath en başlık korumaları içinde gerçekleşir. #İncludes listesinde daha yukarı bir şey dahil olduğunu bu araçlar cmatholmadan #definebelirtildi. math.hözel olarak, şimdi eklemek için değiştirilen tanımla tekrar dahil edebilmeniz için tasarlanmıştır . M_PIDurum böyle DEĞİLDİR cmath. Bu yüzden emin olmalısın#define _USE_MATH_DEFINES başka bir şey eklemeden önce . Umarım bu sizin için çözer :)
Başarısızlık, math.hzaten belirtildiği gibi standart olmayan C / C ++ kullanıyorsunuz :)
Düzenleme 2 : Veya David'in yorumlarda belirttiği gibi, kendinizi değeri tanımlayan bir sabit yapın ve yine de daha taşınabilir bir şeye sahip olursunuz :)