Compartir a través de


Cuerpo de función o variable no encontrados

Con solo un prototipo de función, el compilador puede continuar sin errores, pero el enlazador no puede resolver una llamada a una dirección porque no hay código de función ni espacio variable reservado. No verá este error hasta que cree una llamada a la función que el enlazador debe resolver.

Ejemplo: Llamada a una función no definida

La llamada a función en main provocará LNK2019 porque el prototipo permite al compilador pensar que la función existe. El enlazador descubre que no lo hace.

// LNK2019_MFBV.cpp
// LNK2019 expected
void DoSomething(void);
int main() {
   DoSomething();
}

Ejemplo: Llamada a una función implementada

En C++, asegúrese de incluir la implementación de una función específica para una clase y no solo un prototipo en la definición de clase. Si va a definir la clase fuera del archivo de encabezado, asegúrese de incluir el nombre de la clase antes de la función (Classname::memberfunction).

// LNK2019_MFBV_2.cpp
// LNK2019 expected
struct A {
   static void Test();
};

// Should be void A::Test() {}
void Test() {}

int main() {
   A AObject;
   AObject.Test();
}

Consulte también

Error de las herramientas del vinculador LNK2019