这是一个会产生分段错误的最小代码。
#include<vector>
int main() {
std::vector<double> a;
a.resize(10);
return 0;
}
显然这段代码没有任何问题。我已经在几个系统上运行它没有问题,但它在我的工作电脑上产生了分段错误。
代码是在运行 openSUSE 11.1 的系统上使用 g++ file.cpp 编译的。我知道这是一个较旧的操作系统,但我不允许升级或重新安装。我唯一有权使用的是 zypper(用于安装和删除程序的命令行实用程序)。
我的假设是它与 c++ 库有关。我已经尝试重新安装我能想到的与 gcc/g++ 和 libstdc++ 相关的所有内容,但我仍然看到同样的问题。
有没有人见过这样的东西?有任何想法吗?
谢谢!