3

次のエラーが発生しました。

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

なぜこのエラーが発生するのか知っていますか?

4

1 に答える 1

9

operatorがキーワードです。シーケンスoperator =は、あなたの場合、ポインターパラメーター型を持つ代入演算子を宣言しようとします。closureそして、あなたのコンパイラは、最後のものを特別な指定子override(MSVCの拡張)などとして解析したいと考えていますconst

変数の名前を などの別の名前に変更しますmyoperator

于 2010-12-13T08:27:27.733 に答える