c++ - string::string 构造函数中的奇怪 "Bus error"

标签 c++ stl segmentation-fault freebsd

当一个奇怪的错误开始弹出时,我一直在测试负责填充 multimap 对象的部分代码:

int SetPortName(string ID, string Name)
    cout << "ID: " << ID << " Name: " << Name;
    ...
}

在 FreeBSD 5.4 的非 root 用户下工作正常,但在 root 下运行时因“总线错误”而崩溃。

最佳答案

标题提到了一些关于 string 构造函数的内容,但由于您没有显示任何调用构造函数的代码,我不得不假设问题实际上出在 调用者中 这个函数,其中两个 string 对象将为参数构造。我的猜测是您的两个实际参数之一是 char*,它是一个空指针。使用调试器进一步调查。

关于c++ - string::string 构造函数中的奇怪 "Bus error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/962135/

相关文章:

c++ - 从没有内置类型的 C++ 调用 Cython

c++ - 如何通过组合红色和蓝色无符号字节来优化混合?

c++ - 如何在 C++ 中传递一个 std-functor 并在不知道它具体是哪个的情况下使用它

c - 超出了神秘的内存限制;埃拉托色尼算法筛分错误

c - C 上的 MPI,段错误 : 11

c++ - 如何在 intellij IDEA 的 Android 项目中为 C/C++ 启用自动完成和语法突出显示?

c++ - 是否可以将矩阵列表传递给 vector<Eigen::Map<Eigen::MatrixXd>> 内联?

c++ - 反向 map 查找

python - 使用 ctypes 和 SSE/AVX 有时会出现段错误

c++ - 函数模板调用中的<未解析的重载函数类型>