Почему использование .get boost :: tuple не работает в шаблонных функциях в gcc?

При попытке перенести какой-то код для компиляции в linux я получаю странные ошибки компиляции. Пройдя поиск по базе кода, мне наконец удалось свести его к следующему коду.

 5: // include and using statements
 6: template<typename RT, typename T1>
 7: RT func(tuple<T1> const& t) {
 8:     return t.get<0>();
 9: }
10: // test code

Пытаясь использовать его, я получаю сообщение об ошибке:

test.cpp: In function <functionName>:
test.cpp:8: error: expected primary-expression before ‘)’ token

Код отлично работает в Visual Studio, но по какой-то причине я не могу понять, почему он не работает с g ++. Кто-нибудь здесь знает, как обойти это?

8
задан lyml 10 June 2011 в 19:57
поделиться