2
使用静态类数据我有一个静态类数据成员声明:中的std ::最大值和最小值
static const float MINIMUM_ZOOM_FACTOR = 4.0;
我使用这个常量在类的成员函数是这样的:
zoomFactor_ = max(zoomFactor_, MINIMUM_ZOOM_FACTOR);
此时,编译器会抱怨MINIMUM_ZOOM_FACTOR是未定义的引用。但是,如果我直接使用它:
if(fabs(zoomFactor_ - MINIMUM_ZOOM_FACTOR) < EPSILON) ...
它工作正常。我究竟做错了什么?
发布一些可编译的代码,说明你正在做什么。 – 2010-07-08 09:24:51
我的猜测是,你的第二个例子与'MAXIMUM_ZOOM_FACTOR'的声明在同一个文件中,而你的第一个例子不是。 'static'防止在源文件之外使用它。 – Job 2010-07-08 09:27:14
@ Job没有,因为它是一个静态的_class_成员,因此静态的含义是不一样的... – 2010-07-08 09:41:20