LINUX.ORG.RU

Не пойму ошибку?

 


0

1
#include <iostream>


template <typename T>
//T a;
class Sort
{
public:
	Sort() {};
private:
	T* Sorting(T* mas, int size);
	void printArray(const T* arr, int count)
};
T* Sort::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 (T*)mas;
};
void Sort::printArray(const T* arr, int count)
{
	for (int ix = 0; ix < count; ix++)
		std::cout << arr[ix] << "   ";
	std::cout << std::endl;
}; // конец шаблона функции printArray
int main()
{
	const int iSize = 10,
		dSize = 7,
		fSize = 10,
		cSize = 15;
	// массивы разных типов данных
	int    iArray[iSize] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	double dArray[dSize] = { 1.2345, 2.234, 3.57, 4.67876, 5.346, 6.1545, 7.7682 };
	float  fArray[fSize] = { 1.34, 2.37, 3.23, 4.8, 5.879, 6.345, 73.434, 8.82, 9.33, 10.4 };
	char   cArray[cSize] = { "MARShdkeitocm8" };
	Sort *sort = new Sort();
	sort->Sorting(iArray, iSize);
	sort->Sorting(dArray, dSize);
	sort->Sorting(fArray, fSize);
	sort->Sorting(cArray, cSize);
	std::cout << "\t\t Шаблон функции вывода массива на экран\n\n";
	// вызов локальной версии функции printArray для типа int через шаблон
	std::cout << "\nМассив типа int:\n"; 
	sort->printArray(iArray, iSize);
	// вызов локальной версии функции printArray для типа double через шаблон
	std::cout << "\nМассив типа double:\n"; 
	sort->printArray(dArray, dSize);
	// вызов локальной версии функции printArray для типа float через шаблон
	std::cout << "\nМассив типа float:\n"; 
	sort->printArray(fArray, fSize);
	// вызов локальной версии функции printArray для типа char через шаблон
	std::cout << "\nМассив типа char:\n"; 
	sort->printArray(cArray, cSize);
    return 0;
}

Ответ на: комментарий от bad_master

Ну какую ахинею написал, такие и ошибки. У тебя конкретный вопрос, или предлагаешь за тебя всё исправить? В первом случае попробуй его задать, во втором - вали в job.

slovazap ★★★★★ ()
Ответ на: комментарий от bad_master

Сообщения об этих ошибках надо сюда в пост копировать. Никто за тебя этого делать не будет. И вообще, неизвестно, какой у тебя компилятор.

seiken ★★★★★ ()

Не пойму ошибку?

Сложно сказать, но, рискну предположить, что когда-нибудь поймёшь.

ddidwyll ★★★ ()
Последнее исправление: ddidwyll (всего исправлений: 1)
Ответ на: комментарий от bad_master

Да у тебя их и в этом предложении полно.

UVV ★★★★★ ()
private: // ???
     T* Sorting(T* mas, int size);
//......
     sort->Sorting(iArray, iSize); // !!!

и это касатся Sorting и printArray которые вы сами сделали private

AKonia ★★ ()
Последнее исправление: AKonia (всего исправлений: 4)
Ответ на: комментарий от bad_master

См. любой учебник по плюсам - будет опрометчиво давать вам советы, если вы сами не хотите чуть-чуть потрудиться, ведь странно спрашивать такие фундаментальные вещи на форуме, когда повторюсь эта тема подробно освещена в любом даже худобедном учебнике(С++ за 21 день за автороством Либерти или учебники Шилдта или Праты).

AKonia ★★ ()
Последнее исправление: AKonia (всего исправлений: 2)
8 марта 2021 г.
Ответ на: комментарий от wandrien

А нешаблонный уже прошли, сами же в соседнем треде подметили: три месяца — и хватит с Нас ;)

mertvoprog ()

Не пойму ошибку?

Да. Не поймешь.

djambeyshik ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.