Es wird kompilieren (der gesamte Code ist gültig grammatisch), sondern wird bei Streckenstufe scheitern.
Dies liegt daran, template <int T> void f();
deklariert, aber nicht definiert, die < 0> Spezialisierung ist definiert, aber das macht nichts für Sie, da Sie es nicht instanziieren.
Eigentlich ist es würde möglich sein, für die < 0> Spezialisierung Syntaxfehler enthalten und das Programm würde noch ohne Fehler kompilieren! Dies liegt daran, dass Vorlagen nur dann kompiliert werden, wenn sie verwendet werden. (Ich würde kein Kandidat erwarten, dass die Gegenwart des Geistes während des Interviews Bedingungen haben, darauf hinweisen.)
Verknüpfung Fehler, müssen Sie 'Vorlage Leere f() {}' –
P0W