Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
explicitní specializace "deklarace" není specializace šablony funkce.
Poznámky
Nemůžete se specializovat na funkci bez šablony.
Examples
Následující příklad vygeneruje C2912:
// C2912.cpp
// compile with: /c
void f(char);
template<> void f(char); // C2912
template<class T> void f(T); // OK
Tato chyba se také vygeneruje v důsledku práce v souladu kompilátoru, která byla provedena v sadě Visual Studio .NET 2003: Pro každou explicitní specializaci musíte zvolit parametry explicitní specializace, aby odpovídaly parametrům primární šablony.
// C2912b.cpp
class CF {
public:
template <class A> CF(const A& a) {} // primary template
// attempted explicit specialization
template <> CF(const char* p) {} // C2912
// try the following line instead
// template <> CF(const char& p) {}
};