2017-01-23 5 views
0

で:: utilの::バリアント値::バリアント(https://github.com/mapbox/variant/blob/master/include/mapbox/variant.hpp)、私は次の操作を実行できます。どのようmapboxを取得するためにmapbox付きテンプレート機能

using variant = mapbox::util::variant<Args...>; 
variant<std::string> v; 
// do something with v 
... 
// Get string from v: 
std::string s = v.get<std::string>(); 

しかし、私はテンプレートで、これを実装しよう

template <typename T> 
T getValue() 
{ 
    variant<T> value{}; 
    // Get value 
    ... 
    return value.get<T>(); 
} 

GCCは文句:

../utils.hpp:52:23: error: expected primary-expression before '>' token return value.get(); ^../utils.hpp:52:25: error: expected primary-expression before ')' token return value.get();

テンプレートFUNCTの何が問題になっている機能を、私はコンパイルエラーが発生しましたイオン?

+0

のように良い/包括的に説明します)。助けて? –

+0

これは役に立ちます。私はそれを正しいことをマークできるように答えとして投稿してください。 – Mine

答えて

1

私は、あなたがしたいと思う:

return value.template get<T>(); 

this答えは( を取得value.templateない理由...

関連する問題