Собствено при компиляции не вылетает никаких ошибок, зато при первой же попытке применить qsort - рушиться =( Помогите понять проблему
//6.8.1: Дан массив действительных чисел, содержащий n элементов (n = 100, 200). //Выполнить сортировку массива с помощью стандартной функции быстрой сортировки qsort, //прототип которой находится в заголовочном файле stdlib.h (написать для нее функцию сравнения, //которая передается в качестве параметра, и заполнить таблицу строк) //Для тестирования программы массив значений заполнять тремя способами: //по возрастанию, по убыванию, случайным образом. #include <iostream>#include <conio.h>#include <windows.h>#include <iomanip>#include <math.h>#include <stdlib.h>#include <time.h>using namespace std;//фнкция для сравнения 2 элементовint CompareThey( const void *First, const void *Second ){return _stricmp( * ( char** ) First, * ( char** ) Second );}template <class T>int CompareThey(T* First, T* Second){return (int)(*First - *Second)}//фнкция для вывода матрицы template <class S>void ShowArray(S Array, int iSize = 2){for (int i = 0; i < iSize; i++) cout << setw(4) << Array[i];cout << endl;}int main(int argc, char* argv[]){//инициализацияint iSize = 2;srand(time(NULL));//получаем размерность матрицыcout << "Enter array's size: ";cin >> iSize;//Формируем и заполняем матрицы iA, fB, dC по возрастанию, убыванию и случайным образом соответсвенноint* iA = new int[iSize];float* fB = new float[iSize];double* dC = new double[iSize];for (int i=0; i < iSize; i++){ iA[i] = i; fB[i] = (float)iSize - (float)i; dC[i] = rand() % 20;}//вывод результатовcout << "Array #1 (integer):" << endl;ShowArray(iA, iSize);qsort(iA, iSize, sizeof(iA[0]), CompareThey);cout << "Array #1 (integer) after qsort():" << endl;ShowArray(iA, iSize);cout << "Array #2 (float):" << endl;ShowArray(fB, iSize);qsort(fB, iSize, sizeof(fB[0]), CompareThey);cout << "Array #2 (float) after qsort():" << endl;ShowArray(fB, iSize);cout << "Array #3 (double):" << endl;ShowArray(dC, iSize);qsort(dC, iSize, sizeof(dC[0]), CompareThey);cout << "Array #3 (double) after qsort():" << endl;ShowArray(dC, iSize);cout.flush();_getch();return 0;}