模板问题!!!
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;
}