struct -中模板结构的问题
Issue with template struct in struct -
template <class T>
struct _sApplicationPoolHeader
{
int iApplicationList;
T* oData;
};
template <class T>
struct _sAppPoolNode
{
_sAppPoolNode* psNext;
_sApplicationPoolHeader<T> psHeader;
_sAppPoolNode()
{
psNext = NULL;
}
};
为什么我得到一个编译错误,而我声明这个:注:如果我在类上面声明template,它就可以工作了。
class ApplicationPoolMng
{
private:
template <class T>
_sAppPoolNode<T> m_psAppPool;
}
error: data member 'm_psAppPool' cannot be a member template _sAppPoolNode<T> m_psAppPool;
该语法只能用于定义函数成员模板。使用:
template <class T>
class ApplicationPoolMng
{
private:
_sAppPoolNode<T> m_psAppPool;
};
所有类都需要模板化,而不仅仅是成员。