gpt4 book ai didi

c++ - 使用静态时无法解析的外部符号

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

我是 C++ 新手。我现在开始玩类,但我遇到了静态问题。

class Test
{
public:
Test(){};
~Test(){};
static void test();
static Helper* helper;
};

void Test::test()
{
Object obj = Test::helper->getObject();
//...
}

当我尝试编译时出现错误:

main.obj : error LNK2001: unresolved external symbol "public: static class Helper* Test::helper" (?helper@Test@@2PAVHelper@@A)

我的代码有什么问题?

最佳答案

第一个答案是正确的。这背后的原因是您需要为类定义之外的静态对象分配内存。如果您在头文件中定义类,并将其包含在多个 cpp 文件中,编译器将不知道您要在何处以及如何创建“helper”指向的对象。

关于c++ - 使用静态时无法解析的外部符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27463288/

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