nenne ich Simpletron.cpp
haben, die eine leer Datei ist, eine Simpletron.h
, die eine Simpletron
Klasse deklariert:Keine Implementierung in C++, aber es kann immer noch
class Simpletron
{
public:
Simpletron();
};
ich Simpletron()
in meinem main.cpp genannt:
#include <iostream>
#include "Simpletron.h"
int main(int argc, char *argv[])
{
Simpletron s();
std::cin.get();
}
Die Hauptfunktion läuft einfach ohne Warnung oder Fehler. Warum das? Wie kompiliert das überhaupt, wenn es keine Implementierung gibt, mit der die Header-Datei verknüpft werden könnte?
@ Smac89: Nicht, wenn Sie es erklären. Vielleicht werde ich verrückt, aber mindestens 7 andere Menschen haben sich auch geirrt. Dieses Programm sollte einen Linker-Fehler verursachen, [Beispiel] (http://ideone.com/5m0ygK). – GManNickG
@octef: Bitte geben Sie Ihren echten Code und die Befehlszeile an. Zum Beispiel fehlt Ihrer Klassendefinition ein Semikolon nach dem Code. Dies kann nicht der Code sein, den Sie kompilieren. – GManNickG
Sicher, warte mal. – octref