VS2022 error()中字符串参数不会输出到屏幕上,只是报错
要看下你的输出是定义在哪里输出的,output是否允许显示错误信息。
该回答引用GPTᴼᴾᴱᴺᴬᴵ
在 C++ 中,std::error() 函数用于输出错误信息。但是,它并不会直接将字符串参数输出到屏幕上,而是将其写入到标准错误输出流 std::cerr 中。因此,如果您想要在屏幕上看到错误信息,需要将标准错误输出流重定向到屏幕输出流。
以下是一个简单的示例,演示如何将 std::error() 函数的输出重定向到屏幕上:
#include <iostream>
#include <sstream>
#include <string>
int main()
{
// 重定向标准错误输出流
std::ostringstream errorStream;
std::streambuf* oldErrorStream = std::cerr.rdbuf(errorStream.rdbuf());
// 调用 std::error() 函数,输出错误信息
std::string errorMsg = "This is an error message.";
std::error(std::make_error_code(std::errc::bad_address), errorMsg);
// 恢复标准错误输出流
std::cerr.rdbuf(oldErrorStream);
// 在屏幕上输出错误信息
std::cerr << errorStream.str() << std::endl;
return 0;
}