gpt4 book ai didi

c++ - C++中的Qsort困境

转载 作者:行者123 更新时间:2023-11-28 07:37:40 25 4
gpt4 key购买 nike

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()尽管我指定了定义此函数的模块,但未找到。该函数如下所示:

int MedRepository::getNrMed(){
return MedList->getSize();
}

并返回 int .我做错了什么?

最佳答案

qsort不需要 Vector<T>* .它采用指向 vector 第一个元素的指针。

getNrMed不是 Vector<T> 的方法, 它是 MedRepository 的方法在此代码段的其他任何地方都看不到。

您需要对 compareNA 进行强制转换这一事实是严重问题的征兆。转换函数指针几乎从不是安全的。您需要使其在不进行强制转换的情况下进行编译。

毫无疑问,鉴于这里的代码质量,还有其他问题——鉴于您提供的代码数量有限,这正是可以诊断的问题。

关于c++ - C++中的Qsort困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16425758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com