Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
az explicit specializáció "deklarációja" nem egy függvénysablon specializációja
Megjegyzések
A nem sablonfüggvények nem specializálhatók.
Példák
Az alábbi példa c2912-t hoz létre:
// C2912.cpp
// compile with: /c
void f(char);
template<> void f(char); // C2912
template<class T> void f(T); // OK
Ez a hiba a Visual Studio .NET 2003-ban végzett fordítómegformálási munka eredményeként is létrejön: minden explicit specializációhoz ki kell választania az explicit specializáció paramétereit, hogy azok megfeleljenek az elsődleges sablon paramétereinek.
// 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) {}
};