这是使用静态常量变量的正确方式吗?在我的顶层类(Shape)中
#ifndef SHAPE_H
#define SHAPE_H
class Shape
{
public:
static const double pi;
private:
double originX;
double originY;
};
const double Shape::pi = 3.14159265;
#endif
后来我在一个扩展Shape的类中使用了Shape::pi,但是却遇到了链接错误。我将const double Shape::pi = 3.14...移动到了Shape.cpp文件中,程序就可以编译了。为什么会出现这种情况呢?谢谢。