想通过sort函数对一个二维数组排序降序,但是一直报错误,找不到原因
```c++
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 5010;
int a[N][3];
bool compare0(const int(&row1)[3], const int(&row2)[3]) {
if (row1[0] != row2[0])
return row1[0] > row2[0];
if (row1[1] != row2[1])
return row1[1] > row2[1];
return row1[2] > row2[2];
}
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d%d%d", &a[i][0], &a[i][1], &a[i][2]);
}
sort(a, a + n, compare0);
for (int i = 0; i < n; i++)
printf("%d %d %d\n", a[i][0], a[i][1], a[i][2]);
return 0;
}
```