class PossibilisticShellClustering
{
public:
    PossibilisticShellClustering(void);
    ~PossibilisticShellClustering(void);
    static void SetParameters(double deltaDistance);
    static  double deltaDistance
};

我想在函数SetParameters中初始化静态变量deltaDistance。所以我在* .cpp文件中写道
void PossibilisticShellClustering::SetParameters(double deltaDistance)
{
    PossibilisticShellClustering::deltaDistance = deltaDistance;
}

但是我得到了链接器错误



有人可以告诉我为什么吗?
PossibilisticShellClustering.obj

最佳答案

您需要在程序中某个位置的源文件(通常是.cc或.cpp文件)中定义PossibilisticShellClustering::deltaDistance

double PossibilisticShellClustering::deltaDistance;

您在类主体中所拥有的(或者如果它被;终止则将拥有)仅仅是一个声明。静态数据成员也需要一个定义。

10-08 11:24