Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Stasito
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 25
#1

не удается релизовать свою функцию sort для шаблонного массива - C++

06.06.2013, 20:50. Просмотров 817. Ответов 22
Метки нет (Все метки)

функция должна получать Array<T>::Iterator

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef SORT_H
#define SORT_H
 
 
#include <iostream>
//#include <string>
#include "Array.h"
//using namespace std;
//template <class T>
//void sort(class Array<T>::Iterator start,class Array<T>::Iterator end);
 
template <class Iterator >
 void sort( Iterator start,Iterator end)
{
    for(;start!=end;start++)
    {
        for( Iterator it=start+1;it!=end;it++)
                {
                    if(*start>*it)
                    {
                        Iterator temp=start;
                        start=it;
                        it=temp;
                    }
                }
    }
}
 
#endif
ошибка:
make all
Building file: ../Menu.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"Menu.d" -MT"Menu.d" -o "Menu.o" "../Menu.cpp"
../Menu.cpp: In member function 'void Menu::start()':
../Menu.cpp:19: error: call of overloaded 'sort(Array<int>::Iterator, Array<int>::Iterator)' is ambiguous
../sort.h:19: note: candidates are: void sort(Iterator, Iterator) [with Iterator = Array<int>::Iterator]
/usr/include/c++/4.2.1/bits/stl_algo.h:2816: note: void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = Array<int>::Iterator]
make: *** [Menu.o] Error 1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2013, 20:50     не удается релизовать свою функцию sort для шаблонного массива
Посмотрите здесь:

Написать функцию sort() для сортировки массива структур - C++
Напишите пожалуйста программу по заданию,не могу понять как делать. Условие программы: Напишите функцию sort() для сортировки...

Написать функцию Quick Sort для массива с 2000 элементов - C++
Написать функцию Quick Sort. Использовать написанную функцию для сортировки массива типа double на 2000 элементов. Нужна помощь:-|

Как правильно использовать sort() для сортировки массива? - C++
Хочу отсортировать массив char ch, можно ли это сделать с помощью стандартной библиотеки или обязательно использовать strcmp?? ...

Не удается подключить к приложению gtest и свою статическую либу VS 2010 - C++
Здравствуйте, господа. Возникла проблема с линкером в VS 2010 после подключения к консольному приложению собственной же статической...

Как определить дружественную функцию шаблонного класса? - C++
Подскажите, пожалуйста, как определить дружественную функцию какого-то определенного шаблона? // например, делая это таким...

Как прописать шаблонную функцию внутри шаблонного класса? - C++
Как объявить шаблонную функцию/*типа iterator*/ внутри шаблонного класса?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
6992 / 4163 / 594
Регистрация: 29.11.2010
Сообщений: 11,045
06.06.2013, 22:10     не удается релизовать свою функцию sort для шаблонного массива #21
gray_fox, а вот и пруф
не удается релизовать свою функцию sort для шаблонного массива
Stasito
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 25
06.06.2013, 22:59  [ТС]     не удается релизовать свою функцию sort для шаблонного массива #22
MrGluck,
не удастся никак сделать overload или override функции?

Добавлено через 26 минут
gray_fox,
MrGluck,
thank you vey much for your help and sorry for disturbing...
Very strange thing,i worked with ECLIPSE on Mac and have errors
Now i run the same code on Visual Studio in Windows and it is work properly
I am very sorry for disturbing
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2013, 00:19     не удается релизовать свою функцию sort для шаблонного массива
Еще ссылки по теме:

Преобразовать функцию strcmp в СВОЮ функцию - C++
Нужно заменить функцию strcmp на свою. я создала свою, но код не коректний и выбивает ошибки. #include &lt;iostream&gt; #include &lt;stdio.h&gt;...

Класс ArrayController, нужно создать функцию Sort(direction d) - C++
Добрый день, мне нужно создать в классе функцию Sort(direction d), которая получает как аргумент(лучше будет, если пользователь введет его)...

Чтение из файла и заполнение шаблонного массива - C++
Есть &quot;шаблонный массив&quot; T array. Есть текстовый файл, который может хранить либо целые, либо реальные числа разделенные переводом строки. ...

Сгенерировать массив целых случайных чисели написать функцию SORT - C++
Сгенерировать массив целых случайных чисел. Диапазон значений и количество элементов массива задать как символьные константы. Написать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
07.06.2013, 00:19     не удается релизовать свою функцию sort для шаблонного массива #23
Цитата Сообщение от Stasito Посмотреть сообщение
не удастся никак сделать overload или override функции?
Так то можно перегрузить, только типы аргументов шаблона ф-ии не должны быть зависимыми от параметра шаблона, иначе вывод типа невозможен.
http://ideone.com/CEIRKC
Yandex
Объявления
07.06.2013, 00:19     не удается релизовать свою функцию sort для шаблонного массива
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru