定义一个模板,如下
template <class T> class safe_list
{
public:
safe_list() {}
virtual ~safe_list() {} list<T>::reference front();
void push_front(const T&);
void pop_front();
T retrieve_front(); list<T>::reference back();
void push_back(const T&);
void pop_back();
void wipe();
unsigned int size();protected:
list<T> m_vecItems;
CMutex m_mutex;
};用VC6编译没有问题,完全正常,但
用VC7编译时就抱错,如下
error C2146: syntax error : missing ';' before identifier 'front'
error C2146: syntax error : missing ';' before identifier 'back'请问大虾是什么原因,如何修改?谢谢!
template <class T> class safe_list
{
public:
safe_list() {}
virtual ~safe_list() {} list<T>::reference front();
void push_front(const T&);
void pop_front();
T retrieve_front(); list<T>::reference back();
void push_back(const T&);
void pop_back();
void wipe();
unsigned int size();protected:
list<T> m_vecItems;
CMutex m_mutex;
};用VC6编译没有问题,完全正常,但
用VC7编译时就抱错,如下
error C2146: syntax error : missing ';' before identifier 'front'
error C2146: syntax error : missing ';' before identifier 'back'请问大虾是什么原因,如何修改?谢谢!
list<T>::reference back();换成typename list<T>::reference front();
typename list<T>::reference back();试试