【发布时间】:2015-12-05 06:26:37
【问题描述】:
以下代码给出了“总线错误:10”,尽管当 n 更改为 30 时它可以正常工作。我真的没有看到该错误的任何单一原因。您认为为什么会发生这种情况?
#include <algorithm>
#include <cstdio>
#define MAX 100000
using namespace std;
struct suffix
{
int cur;
};
suffix suffixes[MAX];
bool cmp(suffix a, suffix b)
{
return (a.cur <= b.cur);
}
int main()
{
int n = 1000;
sort(suffixes,suffixes + n,cmp);
return 0;
}
【问题讨论】:
-
您使用的是什么平台/操作系统?你的机器有多少内存?
-
MacOS,2.7GHz 双核 Intel Core i5,8 GB RAM
-
sort需要一个比较函数来进行单调排序。将<=更改为<看看是否有帮助。见stackoverflow.com/questions/2385690/…