Код абсолютно дебильный какой-то.
1. Нафига тут вообще класс использовать в таком виде?
2. У вас шаблон на классе - так что надо указывать параметр шаблона при инициализации класса Sor
3. Sorting и PrintArray приватные - нельзя их просто так вызвать
4. Что это вообще за название "Sorting"?
5. А зачем метод для печати массива у класса, который должен типа сортировкой заниматься?
6. В C++ еть тип std::array, который позволяет нормально передавать размеры масива при помощи шаблонов, а не отдельным параметром.
Короче тут разбирать - не разберёшь
Вот в таком виде уже всё это дело компилируется:
#include <iostream>
template <typename T> class Sort {
public:
Sort(){};
T *Sorting(T *mas, int size) {
T tmp;
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
if (mas[i] < mas[j]) {
tmp = mas[i];
mas[i] = mas[j];
mas[j] = tmp;
}
return mas;
}
void printArray(const T *arr, int count) {
for (int ix = 0; ix < count; ix++)
std::cout << arr[ix] << " ";
std::cout << std::endl;
}
};
int main() {
const int iSize = 10;
int iArray[iSize] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
auto sort = new Sort<int>();
sort->Sorting(iArray, iSize);
std::cout << "\t\t Шаблон функции вывода массива на экран\n\n";
std::cout << "\nМассив типа int:\n";
sort->printArray(iArray, iSize);
return 0;
}
В принципе такой код достоит сайта говнокод ру