Ich muss eine Funktionsvorlage in C++ spezialisieren.Template-Spezialisierung für eine Funktion ohne Parameter
template<typename T>
void doStuff<T>() {}
Um
template<>
void doStuff<DefinedClass>();
und
template<>
void doStuff<DefinedClass2>();
Ich denke, das ist nicht die richtige Syntax (da es nicht kompiliert wird). Wie soll ich das machen?
Auch, da ich nicht undefined Template-Parameter in doStuff<DefinedClass>
haben, wäre es möglich, den Körper in einer .cpp deklarieren?
Hinweis: DoStuff verwendet T in seinem Körper, um eine Variable zu deklarieren.
Wenn Sie sagen, „es ist nicht kompiliert“, sollten Sie die entsprechende Fehlermeldung enthalten. –
Tut 'Vorlage void doStuff () {}' sogar kompilieren an erster Stelle (ich denke, dass '' ist ungültig). –