[英]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;
}
};
为什么在声明时出现编译错误:ps:如果我在类上方声明模板,则其工作正常。
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;
};
所有类都需要模板化,而不仅仅是成员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.