Eksik İşlev Gövdesi veya Değişken

Yalnızca bir işlev prototipi ile derleyici hatasız devam edebilir, ancak işlev kodu veya değişken alanı ayrılmış olmadığından bağlayıcı bir adrese yapılan çağrıyı çözümleyemez. Bağlayıcının çözmesi gereken işleve bir çağrı oluşturana kadar bu hatayı görmezsiniz.

Örnek: Tanımlanmamış bir işleve çağrı

Prototip derleyicinin işlevin var olduğunu düşünmesine izin verdiğinden main'daki işlev çağrısı LNK2019 neden olur. Bağlayıcı bunu bulmaz.

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

Örnek: Uygulanan bir işleve çağrı

C++'ta, sınıf tanımına yalnızca bir prototip için değil, bir sınıf için belirli bir işlevin uygulanmasını eklediğinizden emin olun. Sınıfı üst bilgi dosyasının dışında tanımlıyorsanız, işlevdenClassname::memberfunction () önce sınıf adını eklediğinizden emin olun.

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

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

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

Ayrıca bkz.

Bağlayıcı Araçları Hatası LNK2019