私はC++が新しく、数字のファイルから行を読み込み、行を文字列配列にトークン化して変換しようとしていますそれらの配列項目を倍精度の数値に変換します。しかしトークン化の過程で私はこのエラーを受け取ります。 ''変数 '' std :: stringstream mystream 'に初期化子がありますが、不完全な型' 'があります。私は他の人の提案を見てきましたが、私はブーストを使わずにそれをやりたいのですが、残りのコードは私のように見えますが、なんらかの理由でエラーが発生します。ここにコードがあります。C++ tokenizerの '変数'のエラーstd :: stringstream mystreamに初期化子がありますが型が不完全です '
#include <stdio.h>
#include <string.h>
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
vector<string> tokens;
string phrase="sdfs sdfs trt we rw";
stringstream mystream (phrase);
string temp;
while(getline(mystream,temp,' ')){
tokens.push_back(temp);
}
}
この問題に関するフィードバックを得ることは本当にうれしいです。前もって感謝します。
['std :: stringstream'](http://en.cppreference.com/w/cpp/io/basic_stringstream)には正しいヘッダーが含まれていません。 –
関連しないメモで、文字列ストリームのみを読み込んでいる場合は、代わりに['std :: istringstream'](http://en.cppreference.com/w/cpp/io/basic_istringstream)を使用することを検討してください。 –
最後に、途中でループは必要ありません。必要なのは、['std :: istream_iterator'](http://en.cppreference.com/w/cpp/iterator/istream_iterator)と[' std :: vector'コンストラクタ](http:// en.cppreference.com/w/cpp/container/vector/vector)。ベクトルのコンストラクタがイテレータのペアをとっていることに注目してください。 –