我有一个模板类,它具有一个静态的成员指针,如下所示:
template<class T, T* T::*nextptr>
class Queue
{
T* head;
T* tail;
static T* T::*pnext;
};
我的问题是如何编写静态成员指针的初始化程序。我尝试了一个明显的案例:
template<class T, T* T::*nextptr> T* Queue<T, nextptr>::*pnext(nextptr);
但这没有用。任何的想法?
最佳答案
Queue<T, nextptr>::pnext
被声明为T* T::*
类型,因此应如下所示:
template<class T, T* T::*nextptr>
T* T::* Queue<T, nextptr>::pnext(nextptr);