模版使用问题,想得到T指针类型//怎么办???T*不行吗?
#include "stdafx.h"
#include <iostream>
using namespace std;
template <typename T>
class base{
public:
void test(T d);
void test2(T* d);
T m_t;
};
template <typename T>
void base<T>::test(T d)
{
m_t = d;
}
template <typename T>
void base<T>::test2(T* d)
{
d = m_t;
}
int _tmain(int argc, _TCHAR* argv[])
{
base<char*> obj;
char** p = NULL;
obj.test("abc");
obj.test2(p);
cout << p <<endl;
return 0;
}
[解决办法]
void base<T>::test2(T* d)
{
d = m_t;
}
改成
void base<T>::test2(T** d)
{
*d = m_t;
}