Mam funkcji szablonu:Funkcja szablon specjalizacji w odniesieniu do wskaźnika
template<typename T>
void foo(const T& value) { bar(value); x = -1; }
chcę specjalizują się go do zestawu typów:
template<>
void foo<char>(const char& value) { bar(value); x = 0; }
template<>
void foo<unsigned char>(const unsigned char& value) { bar(value); x = 1; }
To działa OK. Kiedy mogę skompilować to:
template<>
void foo<char*>(const char*& value) { bar(value); x = 2; }
pojawia się błąd:
error C2912: explicit specialization; 'void foo(const char *&)' is not a specialization of a function template
Czy to możliwe, aby specjalizować się typ parametru char*
wskaźnik bez typedef'ing go?
Możesz to zrobić, prawda? 'szablon <> void (wartość const char * const &) foo {...}' Takie podejście działa na mnie, choć nie jestem znalezienie konieczne do określenia '' po 'foo'. –
Alan