-3

编译我的源代码时出现此错误, “MPageArrayCursor”:非法使用此类型作为源代码这一部分的表达式:

class MPageArrayCursor { 
protected: 
    int m_nIndex;

public: 
    MPageArrayCursor(int nIndex) { 
        m_nIndex = nIndex; 
    } 

    virtual ~MPageArrayCursor(); 

    int GetIndex() {
        return m_nIndex; 
    } 

    void SetIndex(int nIndex) {
        m_nIndex = nIndex;
    } 
};

void Add(T pData, MPageArrayCursor* pCursor=NULL)
{
    int nFreeSlot = m_UnusedQueue.top();
    m_UnusedQueue.pop();

    Set(nFreeSlot, pData, pCursor);
}

最初是我移植到 2k12 的 VC++ 2k10 解决方案。为什么我会收到此错误?

这是完整的代码: http: //pastebin.com/xjVKCZjZ

4

1 回答 1

2

您的代码工作正常,除了您需要在 VS2012 上包含std::greater函数运算符的函数头

#include <functional>
于 2013-01-07T01:28:26.877 回答