Partilhar via


Corpo de função ou variável ausente

Apenas com um protótipo de função, o compilador pode continuar sem erro, mas o vinculador não pode resolver uma chamada para um endereço porque não há nenhum código de função ou variável espaço reservado. Você não verá esse erro até que você crie uma chamada à função que o vinculador deve resolver.

Exemplo

A chamada de função no main causará LNK2019 porque o protótipo permite que o compilador pense a função existir. Encontra do vinculador que não.

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

Em C++, certifique-se de que você inclui a implementação de uma função específica de uma classe e não apenas um protótipo na definição da classe. Se você estiver definindo a classe fora do arquivo de cabeçalho, inclua o nome da classe antes da função (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 também

Referência

Erro das Ferramentas de Vinculador LNK2019