error C3646: 'cierre': especificador de anulación desconocido
-
09-10-2019 - |
Pregunta
Tengo el siguiente error:
error C3646: 'closure' : unknown override specifier
El código:
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);
}
¿sabe por qué tengo este error?
Solución
operator
es una palabra clave. La secuencia de operator =
intenta declarar un operador de asignación que en su caso tendría un tipo de parámetro de puntero. Y su compilador quiere analizar el último closure
como un especificador especial como override
(que yo sepa una extensión de MSVC), const
o algo así.
Cambiar el nombre de la variable a otra cosa, como myoperator
.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow