Fehler C3646: ‚Schließung‘: unbekannt Überschreibung Spezifizierer
-
09-10-2019 - |
Frage
Ich habe die folgende Fehlermeldung:
error C3646: 'closure' : unknown override specifier
Der Code:
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);
}
Weißt du, warum ich diesen Fehler haben?
Lösung
operator
ist ein Schlüsselwort. Die Sequenz operator =
versucht, einen Zuweisungsoperator, die in Ihrem Fall zu erklären, einen Zeiger Parametertyp haben würden. Und Ihr Compiler will den allerletzten closure
als Sonder Spezifizierer wie override
(AFAIK eine Erweiterung von MSVC), const
oder so analysieren.
Benennen Sie die Variable auf etwas anderes, wie myoperator
.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow