我有一个Code :: Blocks项目,其中包含一些文件,包括main.cpp
,Line_segment.cpp
及其相应的标题Line_segment.h
。头文件,以及预处理程序指令中的主文件#include
<cmath>
库。 <cmath>
中定义的对象之一是常量M_PI
,它只是数字pi。
使用M_PI
在main()
中工作得很好,我能够编写像std::cout << M_PI*2. << '\n'
这样的简单内容,并且我会得到6.28的输出...正如所料。但是,当我尝试在Line_segment.cpp
文件中执行相同的操作并进行编译时,我收到编译错误,指出'M_PI' was not declared in this scope
。如果我将<cmath>
直接包含在.cpp文件中,并且尝试使用"math.h"
,则会发生同样的情况。另一个观察是,当我输入名称时,M_PI
,M_PI_2
和M_PI_4
都显示在代码建议弹出窗口中,这意味着Code :: Blocks正在识别范围中的名称该文件。
为什么会发生这种情况有什么原因吗?非常感谢任何帮助。