繁体   English   中英

struct中的模板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;
    }
};

为什么在声明时出现编译错误: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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM