Я пытаюсь создать пример для передачи массива строк в специализированный конструктор шаблонов, но на самом деле я не получил никакой ошибки, но этот пример не работает.
Я пытался так:
вызвать конструктор класса шаблона:
int ia[] = { 6, 7, 8, 3 };
const sav<int> si( ia, sizeof( ia ) / sizeof( ia[ 0 ] ) );
std::string sa[] = { "World" , "Hello" };
const sav<std::string> ss( sa, sizeof( sa ) / sizeof( sa[ 0 ] ) );
И в моем шаблоне у меня есть:
template<typename T>
class sav{
public:
sav(T* givenArray,size_t size) {
std::cout<<"not specialized" << std::endl;
}
};
/* ** */
template<>
class sav<std::string[]>{
public:
sav(std::string* givenArray[],size_t size) {
std::cout<<"specialized" << std::endl;
}
};
И я хочу использовать второй в ss
случае, но он все еще работает с первым.