Vector<Medicine*>* Controller::sortByStockAsc(){
Vector<Medicine*>* all =repo->getAll();
qsort(all, all->getNrMed(),sizeof(Medicine*), (comparefunction) compareNA);
return all;}
위의 코드가 있으며 qsort에 몇 가지 문제가 있습니다. Vector<Medicine*>*
은 정렬해야하는 포인터 배열에 대한 포인터입니다. getAll()
은 Vector <Medicine*>*
을 반환합니다. 문제 중 하나는 qsort()
에 내 getNrMed()
이 없지만이 기능이 정의 된 모듈을 지정했기 때문입니다. 함수는 다음과 같습니다.Qsort 딜레마 (C++)
int MedRepository::getNrMed(){
return MedList->getSize();
}
을 반환하고 int
을 반환합니다. 내가 뭘 잘못하고있어?
'벡터'란 무엇입니까? 'qsort'를 사용하는 것은 매우 잘못된 것처럼 보입니다. –
'class Vector { 개인 : \t T * Elems; \t int 크기; \t int 용량 : ' + 생성자, 소멸자 및 getter – Matt
"내 qsort에 문제가 있음"을 의미 할 수도 있습니다. 모기지를 지불 할 수 없기 때문에 우울한가? 'qsort()'는'memcpy()'를 사용하여 객체를 교환하기 때문에'std :: sort()'를 사용하십시오. 이것은 항상 C++ 객체에는 적합하지 않습니다. –