gpt4 book ai didi

c++ - 使用指针运行时无法编译

转载 作者:行者123 更新时间:2023-12-02 10:36:48 26 4
gpt4 key购买 nike

当我将所有这些合并为一个文件时,我的代码可以编译并运行良好。但是,当我使用头文件并使用单独的文件时,出现此错误:

Undefined symbols for architecture x86_64:
"someClass::newNode()", referenced from:
_main in check.o
someClass::insert(someClass::Node*, char const*, char const*) in entry.o
ld: sym

找不到架构x86_64的bol

我已经尝试了所有方法,但找不到问题所在。它们使用“-c”分别编译,但是链接目标文件给了我错误。另外,在包含头文件时,我会使用包含保护措施和所有建议的技巧。任何帮助,将不胜感激!
//.h file
class someClass{
public:
//other stuff
struct Node
{
//...
};

Node *newNode();
};

//entry.C
Node someClass::newNode(){
someClass::Node *bNode = new someClass::Node;
//...
return bNode;
}

//check.C
int main(){
//...
someClass obj;
someClass.Node *root = obj.newNode();
return 0;
}

最佳答案

要在c++中获取嵌套类型,请使用“::”而不是“。”。

someClass::Node *root = obj.newNode();

关于c++ - 使用指针运行时无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59914139/

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