やあみんな私が.objモデルパーサーのために書いているいくつかのコードで問題を抱えています。問題の原因となっているコードは次のとおりです。
std::istringstream iss(line.substr(1));
std::copy(
std::istream_iterator<float>(iss),
std::istream_iterator<float>(),
std::back_inserter<std::vector<float>>(model.chunks.back().vectices)
);
基本的に、次のように引数として渡された文字列を取得します。
v -5.000000 -1.000000 1.000000
次に、そこから部分文字列を取得して、これだけを残します。
-5.000000 -1.000000 1.000000
最後に、std :: copyを使用して、文字列内から数値の各セットを取得します。
vertices [0] = -5.000000
vertices [1] = -1.000000
vertices [2] = 1.000000
とにかく、ここでの主な問題は、次のコード行からエラーが発生することです。
std::back_inserter<std::vector<float>>(model.chunks.back().vectices));
「期待されるトークン」と書かれています。フロートになりました」私のコードはまだコンパイルされ、完璧に実行されます。
そのコードのfloatをstd::stringに置き換えても、エラーは発生しなくなりました。
std::copy(
std::istream_iterator<std::string>(iss),
std::istream_iterator<std::string>(),
std::back_inserter<std::vector<std::string>>(model.chunks.back().vectices)
);
Qt Creatorを使用しているので、これは単なるIDEエラーである可能性がありますか?どんな助けでも大歓迎です!