包含标头后的Stringstream编译错误

时间:2015-01-24 20:19:25

标签: c++ stringstream

我正在尝试使用字符串流来读取字符串并将其转换为各种其他数据类型。但是,我不断收到错误“不允许不完整的数据类型。”

我对此错误的研究恰恰提出了两个问题:确保包含标头,并使用std :: stringstream而不是stringstream。这些修复都没有帮助我。有什么想法吗?

#include <sstream>

bool Arena::addFighter(string info){
    std::stringstream ss;
    ss.getline(info);
    ...
}

编辑:getline()不是问题。当我尝试声明ss对象时,代码会抛出错误。

1 个答案:

答案 0 :(得分:2)

更改此

ss.getline(info);

到这个

getline(ss, info);

检查this问题,了解如何使用getline()。在下次询问之前,请检查ref。 :)

我得到的错误是:

error: no matching function for call to ‘std::basic_stringstream<char>::getline(std::string&)’
     ss.getline(info);

如果您没有使用命名空间std,那么您应该传递std::string作为参数,而不仅仅是string