簡體   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