如何初始化这样的静态类成员?
#include <vector>
//有这样一个类
template <typename T>
class C
{
public:
void putP( T t )
{
CS cs;
cs.idx = m_vctCS.size();
cs.p = t;
m_vctCS.push_back(cs);
}
typedef struct _CS
{
size_t idx;
T p;
}CS;
private:
//里面有这样一个静态类成员
static std::vector<CS> m_vctCS;
};
//问题在这里:
template <typename T> std::vector< C<T>::CS > C<T>::m_vctCS;
//上面的初始化是错误的 VC.NET2k3编译器说“error C2923: “std::vector” : “C<T>::CS”作为模板参数“#1”是无效的,应输入类型”
int main()
{
//这样使用上面那个类
C<int> c;
int n = 0;
c.putP(n);
return 0;
}
我应该怎么初始化那个静态类成员?