2

我是 C++ 新手,正在尝试编译一个开源项目。编译器在这一行抛出错误

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

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

有四个包含文件,这些文件都没有定义流大小。文件本身也没有定义流大小。

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

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

4

3 回答 3

6

您需要的标题是

#include <ios>

它适用于其他人的原因是,标题是从其他一些标题中隐式包含的。这是无法保证的,所以有些人,比如你,会遇到麻烦。请作者明确添加所需的#include.

于 2013-10-04T21:44:31.287 回答
2

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

于 2013-10-04T21:44:30.790 回答
0

string is declared in namespace std.

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

or:

using namespace std;

string Int_StrN     (const int val, const streamsize count);
于 2013-10-04T21:43:08.710 回答