Вызов базового конструктора шаблона при ошибке списка инициализации элемента

У меня есть базовый класс, который выглядит следующим образом.

template<typename T>
class Base
{
   public:
      Base(int someValue);

      virtual T someFunc() =0;
};

template<typename T>
Base<T>::Base(int someValue)
{}

А потом следующее.

#include "base.hpp"

class Foo
   : public Base<Foo>
{
   public:
      Foo(int someValue);

      virtual Foo someFunc();
};

Foo::Foo(int someValue)
   : Base(someValue)
{}

Я получаю следующую ошибку от gcc 4.2.1.

error: class ‘Foo’ does not have any field named ‘Base’

Я должен упомянуть, что это прекрасно компилируется на моей машине Fedora, на которой работает gcc 4.6.2. Эта ошибка возникает при компиляции на моем компьютере OS X Lion.

Заранее спасибо за помощь.

РЕДАКТИРОВАТЬ

Проблема, кажется, что я не указываю тип шаблона в классе Foo при вызове конструктора. Следующее исправляет ошибку в OS X.

: Base<Foo>(someValue, parent)

РЕДАКТИРОВАТЬ

Да, это похоже на ошибку. То, что я упоминал ранее, исправляет ошибку в OS X, и код исправляется в Fedora с этим исправлением. Пойду и посмотрю, есть ли обновление для gcc в os x.

Ответы на вопрос(1)

Ваш ответ на вопрос