繁体   English   中英

ios :: setstate实际上需要多少个参数?

[英]How many parameters does ios::setstate actually take?

我对函数ios::setstate( iostate state )看到的每个定义都表明该函数采用一个只有一个参数,但是当我使用以下函数调用编译程序时,所有内容都可以编译并正常运行:

mystream.setstate( std::ios_base::badbit, true );

第二个参数到底是什么?为什么没有关于它的文档?

编辑:我正在使用最新版本的Microsoft Visual Studio 2010的命令行编译器。

它必须接受一个参数,如您所知,但是在实现中允许通过使用默认值(§17.6.5.5)参数来扩展成员函数。 换句话说,只要可行:

mystream.setstate( std::ios_base::badbit );

您的编译器符合标准。 不过,没有什么可以说您的代码不必工作。

(您的库实现已决定拥有一个布尔参数会很有用。您永远不会注意到它,因为它具有默认值,但是您仍然可以进入实现特定的领域并自己提供参数。这是否是一个好方法。这个想法显然是另一个问题,但可能不是。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM