errore C3646: 'chiusura': sconosciuto identificatore di override
-
09-10-2019 - |
Domanda
ho ottenuto il seguente errore:
error C3646: 'closure' : unknown override specifier
Il codice:
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);
}
Ti so perché ho questo errore?
Soluzione
operator
è una parola chiave. La sequenza di operator =
cerca di dichiarare un operatore di assegnamento che nel tuo caso avrebbe un tipo di parametro puntatore. E il compilatore vuole analizzare l'ultimo closure
come un identificatore speciale come override
(AFAIK un'estensione della MSVC), const
o tali.
Rinomina la variabile a qualcos'altro, come myoperator
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow