Я пытаюсь запустить qsort из cstdlib. Функция
qsort(m_all_animals, numberOfAnimals(), sizeof(Animal*), сравнить);
выполняется успешно, но не сортирует m_all_animals. На самом деле, это ничего не делает с массивом. Базовые структуры данных находятся здесь
Animal** m_all_animals;
//the number of elements, I tested it and it works
int numberOfAnimals(){
int result=0;
for (int i=0;i<m_size*2;++i){
if (m_all_animals[i]==NULL)
break;
++result;
}
return result;
}
int compare (const void* p1, const void* p2){
return ((Animal*) p1)->get_size()-((Animal*) p2)->get_size();
}
У меня есть следующая иерархия наследования, если это помогает
Animal<-Bear
Bear<-brown_bear
brown_bear<-white_bear
Bear<-panda_bear
Animal<-snail
std::sort
? - person Konrad Rudolph   schedule 04.08.2013qsort
и узнать оstd::sort
. Вам придется много разучиться, если вы изучали C как необходимое условие BTW. - person juanchopanza   schedule 04.08.2013qsort
в программе на C++ кажется довольно контрпродуктивным. - person juanchopanza   schedule 04.08.2013