相关疑难解决方法(0)

宏C/C++的奇怪行为

我正在使用一些宏,并观察一些奇怪的行为.

我已经将PI定义为常量,然后在宏中将其用于将度数转换为弧度,将弧度转换为度数.弧度到弧度的工作正常,但弧度到度数不会:

piTest.cpp:

#include <cmath>
#include <iostream>
using namespace std;

#define PI atan(1) * 4
#define radians(deg)  deg * PI / 180
#define degrees(rad)  rad * 180 / PI

int main()
{
  cout << "pi: " << PI << endl;
  cout << "PI, in degrees: " << degrees(PI) << endl;
  cout << "45 degrees, in rad: " << radians(45) << endl;
  cout << "PI * 180 / PI: " << (PI * 180 / PI) << endl;
  cout << "3.14159 …
Run Code Online (Sandbox Code Playgroud)

c++ macros gcc pi c-preprocessor

3
推荐指数
2
解决办法
982
查看次数

标签 统计

c++ ×1

c-preprocessor ×1

gcc ×1

macros ×1

pi ×1