c++ - c++中的段错误(核心转储)

标签 c++ linux segmentation-fault

这段代码在执行时显示了预期的输出,但在最后打印了 segmentation fault (core dumped):

string str[4] = {
    "Home",
    "Office",
    "Table",
    "Bar"
};

for (int i = 0; i<5; i++)
{
    cout << str[i] << "\n";
}

输出:

Home
Office
Table
Bar
Segmentation fault (core dumped)

段错误(核心转储)的意义是什么。我搜索了一下,当您尝试访问未分配的内存时,似乎会发生类似的错误,那么,上面的代码有什么问题吗?

最佳答案

你应该写:

for (int i = 0; i<4; i++) //0,1,2,3 = total 4 values
{
    cout << str[i] << "\n";
}

关于c++ - c++中的段错误(核心转储),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11176820/

相关文章:

c++ - MyRectangle mr = MyRectangle(); 有什么区别?和我的矩形 mr2 ();

c++ - 为什么使用运算符 = 进行引用可以,但使用构造函数则不行?

c++ - 我可以在 Visual Studio 中开发跨平台应用程序吗? (C++)

php - 缓存一个完全动态的网站

c++ - 无法在 Linux 中运行使用 sfml 的程序

c - 段错误:11

c++ - C++ 中的 Java varargs 等价物

linux - 返回字符串值 * 在调用返回时扩展

linux - 调用 sdp_record_register() 时出现段错误

c - 使用 fscanf 段错误读取