初始化依赖于私有模板类型的静态类成员 (C++)
我有以下情况:
class Test
{
private:
class SubType
{
//...
};
static std::vector<SubType> v;
};
因为 v 是静态的,所以我在 cpp 文件中初始化它
std::vector<Test::SubType> Test::v;
但这不起作用,编译器告诉我“Test::SubType”是私有的。 对此我能做什么?
谢谢!
I have the following situation:
class Test
{
private:
class SubType
{
//...
};
static std::vector<SubType> v;
};
Because v is static, I initialize it in the cpp file with
std::vector<Test::SubType> Test::v;
But this does not work, the compiler tells me that "Test::SubType" is private.
What can I do about this?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这对我有用:
This works for me:
我猜你忘记了
#include
。因为以下内容在 comeau 上编译I guess you forgot to
#include <vector>
. Because the following compiles on comeau其他人报告代码编译良好。我想提供支持它的标准措辞。
11/5
Others reported the code compiles fine. I want to supply the Standard wording for backing it up. At
11/5