Я пытаюсь реализовать шаблон с явной спецификацией шаблона. Шаблон и его реализация показаны ниже:
template <typename T>
class MyClass {
private:
T data;
size_t size;
public:
MyClass();
~MyClass();
uint32_t getSize();
T getData();
void setData(T value);
};
template <class T>
MyClass<T>::MyClass()
{
size = sizeof(T);
}
template <>
MyClass<std::string>::MyClass()
{
size = 0;
}
/* and so on */
Теперь у меня есть проблема, когда мое явное объявление содержит также шаблон класса. Допустим, я бы создал явную шаблонную специализацию вектора (содержащего любой примитивный тип, например int, char, float, ...) и сохранил бы сайт элемента в переменной size
.
template <??>
MyClass<std::vector<?>>::MyClass()
{
size = sizeof(?);
}
Как я мог это сделать?