Могу ли я использовать loki ObjectLevelLockable в шаблоне c ++ 0x

Я хочу создать потокобезопасный список fifo с использованием библиотеки Loki, но я не могу создать сторож, потому что я использую 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?

0

Решение

typename MyFIFO<T>::Lock это зависимое имя, поэтому вам нужно typename Вот:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]