0

助けてください。

class TLECustomControl
{
    private:
        ...
        HDC _hDC;
        HGLRC _hRC;
        void _stdcall MakeCurrent(void);
        void _stdcall GetSize(int* width, int* height);
    public:
        ...
        int Initialize(HWND handle);
};

void _stdcall TLECustomControl::MakeCurrent(void)
{
    wglMakeCurrent(this->_hDC, this->_hRC);
}

void _stdcall TLECustomControl::GetSize(int* width, int* height)
{
    this->MakeCurrent();
    int vPort[4];
    glGetIntegerv(GL_VIEWPORT, vPort);
    *width = vPort[2];
    *height = vPort[3];
}

int TLECustomControl::Initialize(HWND handle)
{
    ...
    //Create a custom buffer
    this->_customBuffer = LE::CreateCustomBuffer((byte*)this->GetSize,(byte*)this->MakeCurrent);
}

//エラーリスト

エラー 2 エラー C2440: 'type cast' : 'void (__stdcall TLECustomControl::* )(void)' から 'byte *' d:\leadwerks\projects\userwindow\LECustomControl.h に変換できません

102 エラー 1 エラー C2440: '型キャスト': 'void から変換できません

(__stdcall TLECustomControl::* )(int *,int *)' to 'byte *' d:\leadwerks\projects\userwindow\LECustomControl.h 101

4

1 に答える 1

1

多分この線だと思います

this->_customBuffer = LE::CreateCustomBuffer((byte*)this->GetSize,(byte*)this->MakeCurrent);

問題は、メンバー関数を引数として渡し、実際には関数または関数を呼び出さないことです。GetSizeMakeCurrent

しかし、これらの関数はどちらも何も返さないため、とにかく機能しませんが、期待される引数は typebyte*です。

于 2013-11-06T06:30:01.510 に答える