İ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_DEFINES
ve 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 cmath
olmadan #define
belirtildi. math.h
özel olarak, şimdi eklemek için değiştirilen tanımla tekrar dahil edebilmeniz için tasarlanmıştır . M_PI
Durum 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.h
zaten 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 :)