Я часами искал в Интернете решение, но безрезультатно. Я программирую на 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 */ }
Но это дает мне ту же ошибку компилятора. Я действительно не имею ни малейшего представления о том, где искать решение сейчас ...