我想使用Loki库创建一个线程安全的fifo列表,但是我无法创建防护,因为我使用的是gcc 4.3,它不支持别名模板:

....
template <typename T> MyFIFO: public ObjectLevelLockable<MyFIFO<T>>{
....
typedef MyFIFO<T>::Lock MyLock;
....
void some_function(const T& some_variable_name)
{
MyLock _lock(*this);//like in "Modern c++ Design p268"
....some code...
}


有什么想法...无需安装gcc 4.7吗?

最佳答案

typename MyFIFO<T>::Lock是从属名称,因此这里需要一个typename

typedef typename MyFIFO<T>::Lock MyLock;
        ^^^^^^^^

10-04 14:17