我有以下错误:

error C3646: 'closure' : unknown override specifier

编码:

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);
}

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

有帮助吗?

解决方案

operator 是关键字。序列 operator = 试图声明一个分配运算符,在您的情况下,该操作员将具有指针参数类型。而且您的编译器想解析最后一次 closure 作为特殊的指定符 override (Afaik的MSVC扩展), const 或这样。

将变量重命名为其他东西,例如 myoperator.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top