gpt4 book ai didi

c++ - 从 main 返回时出现段错误(非常简短的代码,没有数组或指针)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:02 25 4
gpt4 key购买 nike

我一直想知道为什么以下琐碎的代码在从 main() 返回时会产生段错误:

//Produces "Error while dumping state (probably corrupted stack); Segmentation fault"

#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

class Test
{
vector<int> numbers;
};

int main()
{
Test a;
ifstream infile;

cout << "Last statement..." << endl; // this gets executed
return 0;
}

有趣的是,1)如果只声明了两个变量之一,我不会得到错误,2)如果我声明一个 vector 变量而不是一个带有 vector 成员的对象,一切都很好,3) 如果我再次声明一个 ofstream 而不是一个 ifstream,一切正常。这个特定的组合似乎有问题......

这可能是编译器错误吗?我在 cygwin 中使用 gcc 3.4.4 版。

提前感谢您的提示。

嘉宝

最佳答案

这是一个错误。如果这是你的整个程序,那绝对没有错。您在编译器或标准库中发现了错误。正如评论中向您推荐的那样,尝试使用 4.x 系列的 gcc 编译器。 3.x 系列历史悠久。

关于c++ - 从 main 返回时出现段错误(非常简短的代码,没有数组或指针),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4702755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com