gpt4 book ai didi

c++ - 如何在 C++ 中初始化静态字段?

转载 作者:行者123 更新时间:2023-11-28 06:12:08 24 4
gpt4 key购买 nike

<分区>

我需要一个带有静态 std::vector<int> simples 的类(前 N 个简单数字)。我用静态方法创建了它 __init__ ,在创建 MyClass 的任何实例之前调用:

class MyClass
{
public:
MyClass()
{
/* I need to use MyClass::simples here */
printf("%d\n", (int)MyClass::simples.size());
/* But I get the error here :( */
}

static void __init__(int N)
{
simples.push_back(2);
/* ...
here I compute first N simple numbers and fill
MyClass::simples with them
*/
}

private:
static std::vector<int> simples;
};

int main()
{
MyClass::__init__(1000);
MyClass var;

return 0;
}

但是当我试图在构建中使用这个 vector 时,我得到了 undefined reference to 'MyClass::simples'错误。如何解决我的问题?

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