我是新来的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)。注意矢量构造函数需要一对迭代器? –