Als «function-templates» getaggte Fragen


4
Warum kann die Funktionsvorlage nicht teilweise spezialisiert werden?
Ich weiß, dass die Sprachspezifikation eine teilweise Spezialisierung der Funktionsvorlage verbietet . Ich würde gerne wissen, warum es das verbietet. Sind sie nicht nützlich? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} //allowed! template<typename T> void f<char, T>() {} //not allowed! template<typename T> void f<T, …

2
Warum verhält sich diese Vorlagenfunktion nicht wie erwartet?
Ich habe über Vorlagenfunktionen gelesen und war durch dieses Problem verwirrt: #include <iostream> void f(int) { std::cout << "f(int)\n"; } template<typename T> void g(T val) { std::cout << typeid(val).name() << " "; f(val); } void f(double) { std::cout << "f(double)\n"; } template void g<double>(double); int main() { f(1.0); // f(double) …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.