我可以在c ++ 0x模板中使用loki ObjectLevelLockable吗?

时间:2014-01-06 14:56:13

标签: c++ templates loki

我想使用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?

1 个答案:

答案 0 :(得分:3)

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

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