开源项目中的未知类型名称

时间:2013-10-04 21:40:30

标签: c++

我是C ++的新手,并试图让一个开源项目进行编译。编译器在此行引发错误

string   Int_StrN     (const int val, const streamsize count); //unknown type name 'streamsize'

我认为这意味着,没有定义类型。

有四个包含文件,这些文件都没有定义streamsize。也不是文件本身定义的streamize。

#include "bh.h"
#include <string>
#include <vector>
#include <map>

但我很确定这个代码是在某人的系统上编译和构建的(它来自一个中等活跃的开源项目)。那么原始编码器如何在不定义类型的情况下使用streamize?

3 个答案:

答案 0 :(得分:6)

您需要的标题是

#include <ios>

它适用于其他人的原因是,标题隐含地包含在其他一些标题中。这是不能保证的,所以有些人,比如你,遇到麻烦。要求作者明确添加所需的#include

答案 1 :(得分:2)

std::streamsize是标准C ++类型,来自<ios>标题。

答案 2 :(得分:0)

字符串在namespace std。

中声明
std::string Int_StrN     (const int val, const std::streamsize count);

或:

使用namespace std;

string Int_StrN     (const int val, const streamsize count);