Rolf B: LNK2019, wie löse ich diesen Fehler in C++?

Beitrag lesen

Hallo hmm,

also mehr, als dass er offensichtlich den Konstruktor von MT_A_C nicht findet, kann ich angesichts dessen was Du zeigst auch nicht sagen.

Da es ein Linker-Fehler ist, kein Compiler-Fehler, fehlt ihm zur Linkzeit ein Objektmodul in dem MT_A_C::MT_A_C mit der genannten Signatur auffindbar ist.

Das kann viele Gründe haben.

  • MT_A_C.obj fehlt weil beim Compile von MT_A_C.cpp ein Fehler auftrat (wobei, dann sollte er eigentlich nicht linken)
  • Das MT_A_C.h, dass Du beim Compile von MT_B_C.cpp verwendest und die Konstruktorsignatur definiert, passt nicht mehr zum MT_A_C.cpp. Deswegen ist die in MT_A_C.obj implementierte Konstruktorsignatur nicht die, die MT_B_C.obj anfordert.
  • Der Konstruktor ist nicht „public genug“ (ich kenne die Sichtbarkeitsregeln von C++ nicht mehr so genau, ist schon viele Jahre her)

Und bestimmt gibt's noch mehr

Rolf

--
sumpsi - posui - clusi