c++ - 初始化依赖于私有(private)模板类型的静态类成员 (C++)

标签 c++ templates static private

我有以下情况:

class Test
{
private:
    class SubType
    {
    //...
    };
    static std::vector<SubType> v;
};

因为v是静态的,我在cpp文件中用

std::vector<Test::SubType> Test::v;

但这不起作用,编译器告诉我“Test::SubType”是私有(private)的。 我该怎么办?

谢谢!

最佳答案

这对我有用:

#include <vector>
using namespace std;

class A {
    class B {
    };
    static  B b;
    static vector <B> vb;
};

A::B A::b;
vector <A::B> A::vb;

关于c++ - 初始化依赖于私有(private)模板类型的静态类成员 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791615/

相关文章:

c# - 生成复杂(非凸)多面体 UV 贴图

c++ - UnitTest++ 命令行参数

c++ - 强制模板静态成员实例化

安卓 : Static variable null on low memory

java - 关于内存泄漏和泛型方法

c++ - 英特尔 icc : compile c++ code cause error

c++ - C++ 运算符 "*"是左关联还是右关联?

c++ - 在 C++ 中复制 Haskell 的返回类型重载(通过类型类)

Magento 电子邮件模板 : $_item -> getDescription returns null

c++ - g++7.2.0 自动推导非类型参数失败