Я часами искал в Интернете решение, но безрезультатно. Я программирую C++ в Xcode
#import "data.h" // contains a struct called data
template <class T>
class container {
public:
container();
~container();
private:
// functionality for containing T
};
template <class T>
container<T>::container() { /* generic */ }
template <class T>
container<T>::~container() { /* generic */ }
template <>
container<data>::container() { /* template specialization of data */ }
Компилятор жалуется: повторяется символ и указывает на специализацию шаблона класса. Я подумал, что, может быть, это из-за того, что конструкции не могут специализироваться, поэтому я попробовал что-то вроде добавления дополнительной функции void.
template <class T>
class container {
public:
container();
~container();
void setup();
private:
// functionality for containing T
};
template <>
void container<data>::setup() { /* template specialization of data */ }
Но это дает мне ту же ошибку компилятора. Не знаю, где теперь искать решение...