當我通過以下程序與Visual Studio調試器單步執行操作時,任何istringstream
方法調用都不會在「自動」窗口中顯示返回值。不顯示返回值的Visual C++調試器
雖然它顯示了vector::size()
的返回值。
#include "stdafx.h"
#include <sstream>
#include <vector>
int main()
{
std::vector<char>{}.size(); //<-- debugger shows return value
std::istringstream{"x"}.get(); //<-- no return value shown
std::istringstream{"x"}.good(); //<-- no return value shown
std::istringstream{"x"}.tellg(); //<-- no return value shown
return 0;
}
當然,我在「調試」配置中運行它,所以編譯器不應該能夠優化調用。我之後使用控制檯應用程序嚮導創建項目,而不更改任何項目設置。
我應該提交一個錯誤嗎?
編輯:
另一個可能相關的問題:我不能F11 - 工序到任何上述istringstream
方法。調試器只是按下F10,就好像我按了F10一樣。再次,它適用於vector::size()
。
這聽起來更像是Visual Studio的錯誤報告,而不是正確的代碼問題。 – TankorSmash
我在「Autos」窗口中獲得所有這些調用的返回值。是的,VS2017。 – AnT
@Tankor SO不僅適用於代碼問題,它還適用於[詢問編碼工具](http://stackoverflow.com/help/on-topic)。我不確定,如果這實際上是一個錯誤,或者如果它是一個配置問題。我希望有人先確認一下。 – zett42