c++ - 如何避免错误:在抛出 'std::logic_error' 的实例后调用终止 what(): basic_string::_S_construct null not valid

标签 c++ libstdc++

if(player!=NULL)
    player->shuffled();

我这样做是为了避免将空引用传递给字符串构造函数,但是在编译时仍然会出错。

最佳答案

不知何故,您正在调用 std::string 构造函数,其中 const char* 值为 NULL。

为了避免这个问题。不要那样做。

关于c++ - 如何避免错误:在抛出 'std::logic_error' 的实例后调用终止 what(): basic_string::_S_construct null not valid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11705886/

相关文章:

c++ - 为什么 std::accumulate 函数显示 vector <double> 的错误总和?

c++ - Cpp 预处理器和文件名的基本名称,行号作为字符串

c++ - 我如何将空字符串存储到 vector 中

C++ libstd 同时计算 sin 和 cos

c++ - 如何将函数<void()> 写入管道/套接字对?

c++ - 使用 Clang 13 的 Ubuntu 20.04 上缺少 C++20 头文件

c++ - 当 std::stringstream 使用 ("some content"构造时,tellg() 的预期行为是什么,std::ios::in|std::ios::ate)?

c++ - libstdc++ 是否符合 MISRA C++?

c++ - libstdc++.so.6 重定位错误

c++ - 配置 QWidget 以通过布局填充父级