读书人

模板有关问题!

发布时间: 2012-03-16 16:34:56 作者: rapoo

模板问题!!!
template <class T>
class CTest
{
public:
struct tt {
int i;
};

static tt m_Member;
};


请问静态成员变量 static tt m_Member; 如何初始化?

[解决办法]
这样写就好了,写法好麻烦的
template <class T>
class test
{
struct tt
{
tt()
{
}
};
public:
static tt val;
};
template <class T>
typename test <T> ::tt test <T> ::val = typename test <T> ::tt();

int main()
{
test <int> x;

}

[解决办法]
template <typename T>
class CA
{
class CB
{
};

CB m_b;
};

template <typename T> typename CA <T> ::CB CA <T> ::m_b;
[解决办法]
//虫子,你牛比。参照你的。搞定。


#include <cstdlib>
#include <iostream>

using namespace std;


template <class T>
class CTest
{
public:
struct tt {
int i;
public:
tt(int ii):i(ii){}
};

static tt m_Member;
static int a;

void output()
{
cout < <m_Member.i < <endl;
}
};

template <class T>
int CTest <T> ::a = 0;

template <class T>
typename CTest <T> ::tt CTest <T> ::m_Member = tt(3);

int main()
{
CTest <int> a;
a.output();
system( "PAUSE ");
return EXIT_SUCCESS;

}

读书人网 >C++

热点推荐