Ich habe eine Template-Klasse Matrix. Ich möchte eine Funktion für den Typkomplex spezialisieren, wobei T alles sein kann. Ich habe es versucht:Spezialisierung eines Members einer Template-Klasse für eine Template-Klasse Parametertyp
6 template <typename T>
7 class Matrix {
8 public :
9 static void f();
10 };
11 template<typename T> void Matrix<T>::f() { cout << "generic" << endl; }
12 template<> void Matrix<double>::f() { cout << "double" << endl; }
13 template<typename T> void Matrix<std::complex<T> >::f() { cout << "complex" << endl; }
Zeile 13 kompiliert nicht. Wie kann ich das machen ?
mögliche Duplikate von [Einen Klassenschablonenkonstruktor spezialisieren] (http://stackoverflow.com/questions/2672536/specializing-a-class-template-constructor) –
Ich sehe nicht, wie das ein dup ist. –
Er versucht, die Nicht-Template-Member-Funktion zu spezialisieren. Dasselbe in dieser Frage. –