value_type、key_type ...については知っていますが、インスタンスではなく型で動作します。私は次のようなものを試しました:
std::set<uint64_t> mySet;
decltype (mySet)::value_type pos;
しかし、それは機能しません。
編集:私はVS2010を使用しています。
EDIT2:このコードの目的は、boost :: lexical_cast <>に与えるタイプを取得することでしたが、それを可能にする回避策はありますか?私はこのようなものが欲しい:
mySet.insert(boost::lexical_cast<decltype(mySet)::value_type>(*it));
// it is a iterator in vector of strings
EDIT3:これは機能します:
mySet.insert(boost::lexical_cast<decltype(mySet)::value_type>(*it));