访问模板类的静态成员

时间:2015-07-16 14:52:06

标签: c++

我只想访问模板类的静态成员。我知道这里有很多关于如何初始化它的帖子,但我的问题是打印它的价值。

#include<iostream>
using namespace std;

template<typename T>
class X
{
    static int i;
};

//There are answers everywhere on this site to initialize it

template<typename T>
int X<T>::i = 5;

//But Please help me to access it    
int main()
{
    X<int> x;
//Problem below I just want to access it
    cout << endl << X<int>::i << endl;
    return 0;
}

1 个答案:

答案 0 :(得分:4)

编译器错误消息包含答案的另一种情况。例如。 gcc说

  

main.cpp:13:5:错误:'int X :: i'是私有的

当然,您无法访问课堂外的private字段。改为public