错误C3646:'closure':未知的覆盖说明符

Spe*_*ral 3 c++ overriding specifier

我收到以下错误:

error C3646: 'closure' : unknown override specifier
Run Code Online (Sandbox Code Playgroud)

代码:

void BaseOperator::mousebutton_cb(EventObject* sender, EventArgs* calldata, void* closure)
{
    xd3D::Operation::Operator::BaseOperator* operator = (xd3D::Operation::Operator::BaseOperator*)closure;
    MouseButtonEventArgs* e = (MouseButtonEventArgs*)calldata;
    if (e->Status == Down)
        operator->OnMouseButtonDown(e);
    else
        operator->OnMouseButtonUp(e);
}
Run Code Online (Sandbox Code Playgroud)

你知道为什么我有这个错误吗?

Joh*_*itb 9

operator是一个关键字.序列operator =尝试声明一个赋值运算符,在您的情况下,它将具有指针参数类型.并且你的编译器想要将最后closure一个解析为特殊的说明符,例如override(afaik是MSVC的扩展),const或者这样.

将变量重命名为其他内容,例如myoperator.