Я написал пример класса с использованием шаблона.это довольно просто:
template <class T>
class myClass
{
public:
// construction, destruction
myClass();
virtual ~myClass();
class Object
{
public:
Object() { m_pNext = NULL; m_pPrev = NULL; }
~Object() {}
T m_Value;
Object* m_pNext;
Object* m_pPrev;
};
public:
// accessor functions
Object* Beginning();
private:
Object* m_pBegin;
Object* m_pEnd;
INT m_nCount;
};
template <class T>
inline myClass<T>::Object* myClass<T>::Beginning()
{ return m_pBegin; }
template <class T>
inline myClass<T>::myClass()
{
}
template <class T>
inline myClass<T>::~myClass()
{
}
Я использую Visual Studio 2008, и вот ошибка компиляции
ошибка C2143: синтаксическая ошибка: отсутствует ';'перед '*' ... ошибка C4430: отсутствует указатель типа - предполагается int.Примечание: C ++ не поддерживает default-int.
ошибки связаны с этой строкой:
inline myClass<T>::Object* myClass<T>::Beginning()
Может кто-нибудь сказать мне, что не так в этом коде?Спасибо.