나는 아마 메모리에 액세스하고 있기 때문에 나는 여전히 lldb
오류가 발생합니다. io_seg_sort
에 매개 변수를 조작 할 때 뭔가 잘못하고있는 것처럼 보입니다. qsort
을 호출하기 전에 여전히 괜찮습니다. C++ qsort 2D 배열
#define IO_SEG_IMAX (IO_SEG - 1)
static int io_seg_sort (const void * seg1, const void * seg2) {
int * _seg1 = (int *)seg1;
int * _seg2 = (int *)seg2;
cout << _seg1[1] <<endl; // this gives some random values and not what i am expecting
if (_seg1[1] > _seg2[1]) {
return 1;
}
else if (_seg1[1] < _seg2[1]) {
return -1;
}
else {
return 0;
}
}
int **temp = new int *[IO_SEG];
for (int i = 0; i <= IO_SEG_IMAX; i++) {
temp[i] = new int[2];
memcpy(temp[i], inputs[i], sizeof(int) * 2);
}
qsort(temp, IO_SEG, sizeof(int *) , io_seg_sort);
EDIT1
:cout
대신 내가 기대하고 무엇 호출 할 때 문제가 내가
io_seg_sort
에 어떤 임의의 값을 얻고있다.
inputs[i]
은 반원입니다.
int inputs[IO_SEG][2]
;
C++ 수준을 사용하지 않는 이유는'algorithm ::''std :: sort' **입니까? –
IO_SEG와 IO_SEG_IMAX 사이의 관계는 무엇입니까? – Moberg
@Moberg 의미 IO_SEG_INDEX_MAX – Krab