gpt4 book ai didi

c++ - 在静态函数中初始化静态变量导致未解决

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:58:41 27 4
gpt4 key购买 nike

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;
}

但是我得到链接器错误

unresolved external symbol "public: static double PossibilisticShellClustering::deltaDistance" (?deltaDistance@PossibilisticShellClustering@@2NA)

有人能告诉我为什么吗?

PossibilisticShellClustering.obj

最佳答案

您需要在程序某处的源文件中定义 PossibilisticShellClustering::deltaDistance,通常是 .cc 或 .cpp 文件。

double PossibilisticShellClustering::deltaDistance;

你在类主体中的内容(或者如果它以 ; 终止的话)只是一个声明。静态数据成员也需要定义。

关于c++ - 在静态函数中初始化静态变量导致未解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5845090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com