Vector<Medicine*>* Controller::sortByStockAsc(){
Vector<Medicine*>* all =repo->getAll();
qsort(all, all->getSize(),sizeof(Medicine*), (comparefunction) compareNA);
return all;
}
所以,我有以上這應該排序objects.I陣列功能得到錯誤多個製造商和類型轉換
cannot convert 'Vector<Medicine*>' to 'Vector<Medicine*>*' in initialization
但是如果我把它寫成Vector<Medicine*> all =repo->getAll();
我收到了一堆新對於第三行的錯誤(這是不存在,如果我有一,二號線以前的錯誤):
Multiple markers at this line
- Method 'getSize' could not be resolved
- Invalid arguments ' Candidates are: void qsort(void *, unsigned int, unsigned int, int (*)(const void *, const
void *)) '
- base operand of '->' has non-pointer type 'Vector<Medicine*>'
什麼不對的,我該如何解決?
'repo-> getAll()'返回什麼? – stardust 2013-05-07 10:36:31
很多事情都是錯誤的,我甚至從哪裏開始?你有一個函數,聽起來像一條指令去做某件事,但然後返回一些東西。你使用qsort。你投了一個函數指針。你不明白指針,引用和值之間的區別。你有一個指針向量,你也會返回一個(或者甚至是一個指向向量指針的指針),這從所有權角度來看是完全混淆的。基本上,問題是你不知道C++。爲了解決這個問題,我建議你閱讀一本好書。 – 2013-05-07 10:36:56
@命名爲Vector的所有對象Vector –
Matt
2013-05-07 10:45:23