我是新來的c + +,我試圖從數字文件中讀取行,將行標記爲字符串數組並將其轉換這些數組項目轉換爲雙精度數字。但在標記的過程中,我得到這個錯誤''變量'std :: stringstream mystream'有初始化,但不完整的類型''。我見過其他人的建議,我想不使用boost,其餘的代碼看起來很像我的,但出於某種原因我得到了這個錯誤。這是代碼。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)。注意矢量構造函數需要一對迭代器? –