使用没有#include <sstream> </sstream>的istringstream

时间:2013-10-03 00:03:36

标签: c++

在类I中,我的任务是为已定义的类编写方法,并且不能更改类定义,头文件或#include语句。

我需要使用此代码将字符串拆分为不同的变量

istringstream ss(line)
ss >> plu >> descp >> one >> price >> weight

当我无法使用#include&lt;时,如何使用istringstream? sstream&GT ;?在c ++中是否有一种方法可以直接调用该方法,而不是在定义中使用#including它?

我试过了,

istringstream::istringstream ss(line)
std::istringttream:istringstreeam ss(line)
std::istringstream ss(line)

没有编译过的,我真的不知道包含文件在C ++中是如何工作的。

2 个答案:

答案 0 :(得分:3)

  

当我无法使用#include&lt;时,如何使用istringstream? sstream&GT ;?在c ++中是否有一种方法可以直接调用该方法,而不是在定义中使用#including它?

如果没有将std::istringstream类的<sstream>类的声明复制并粘贴到您的文件中,编译器就无法知道为ss分配多少大小。所以我会说:不,没有简单的解决方法。

答案 1 :(得分:1)

  

当我无法使用#include <sstream>时如何使用istringstream?

你不能。

  

在c ++中有没有办法直接调用该方法而不是在定义中包含#include?

如果定义不可用,编译器将不知道该怎么做。它甚至不知道您使用的关键字是指某些类型...... istringstream将是未定义的标识符。