gpt4 book ai didi

c++ - 体系结构 x86_64 的 undefined symbol 静态类成员错误

转载 作者:行者123 更新时间:2023-11-30 02:28:21 25 4
gpt4 key购买 nike

我不断收到一个错误代码,我在这里见过很多次,但大多数答案似乎都评论了我没有的头文件问题(我不认为?)。 sortKey 是一个私有(private)静态成员,我相信我的 setter 和 getter 中出现错误。

 bool Student::setSortKey(int userKey) {
sortKey = SORT_BY_LAST;
if(!validSortKey(userKey))
return false;
sortKey = userKey;
return false;
}
static int getSortKey() { return sortKey; }

错误...

Undefined symbols for architecture x86_64:
"Student::sortKey", referenced from:
Student::setSortKey(int) in main.o
Student::getSortKey() in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我想了很久,不知道哪里出了问题。我是否需要使用 Student::(这是类名)在 setter 中引用 sortKey?类中的所有方法也被定义为静态的。任何帮助将不胜感激。

最佳答案

假设你有一个类似的声明

class Student {
// ...
static int sortKey;
};

.cpp 文件中提供 Student::sortKey 的定义:

int Student::sortKey = SORT_BY_LAST;

关于c++ - 体系结构 x86_64 的 undefined symbol 静态类成员错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40856265/

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