Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 775
Завершенные тесты: 1
#1

Перегрузка функция отличающихся только return - C++

19.01.2016, 13:41. Просмотров 184. Ответов 7
Метки нет (Все метки)

C++ (Qt)
1
2
    QVector<float> parseLogAttr(QString name_);
    QVector<int> parseLogAttr(QString name_);
Компилятор выдает ошибку о том, что перегруженные функции отличаются только return, что делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2016, 13:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка функция отличающихся только return (C++):

Перегрузка оператора return - C++
Можно ли перегрузить оператор return? Что по умолчанию в его теле? Тот же вопрос и с goto.

Функция вычисляющая количество элементов массива отличающихся от максимального не более чем на заданное число - C++
Запишите и испытайте функцию. Входными параметрами составляемых функций являются одномерные массивы X и (или) Y размером n.Для каждого...

Перегрузка операций: friend-функция или функция-член класса - C++
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и friend. Вот к примеру такой код. class...

Функция Return. Несколько аргументов - C++
Можно вернуть неслоко аргументов в функции return ? void progr1(int A, int B, int N ){ int X; int Y; int Z; Z=B; Y=A; ...

функция команды return sqrt - C++
//Подключение заголовочных файлов #include &lt;iostream&gt; //ввод вывод #include &lt;math.h&gt; //матем. функции //Функция вычисления...

Функция с CharToOem не возвращает слово через return - C++
Здравствуйте! У меня есть такая: ф-ия char* rus3(char* c) { char buf; CharToOem(c,buf); return buf; }

7
Kastaneda
Jesus loves me
Эксперт С++
4688 / 2892 / 236
Регистрация: 12.12.2009
Сообщений: 7,353
Записей в блоге: 2
Завершенные тесты: 1
19.01.2016, 13:44 #2
если следовать KISS, то все просто
C++
1
2
    QVector<float> parseFloatingLogAttr(QString name_);
    QVector<int> parseIntegerLogAttr(QString name_);
если неохота, то можно сделать методы шаблонными и заморочиться с std::enable_if<>
0
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 775
Завершенные тесты: 1
19.01.2016, 14:10  [ТС] #3
C++ (Qt)
1
2
    template<typename Type>
    QVector<Type> parseLogAttr(QString name_);
Так?)
А если я хочу передать в шаблон в качестве возможных типов свои классы, то как это можно сделать?

Добавлено через 2 минуты
Т.е., что бы не перегружать функцию, а сделать вместо int, float, double и т.д. допустим, MyClass1, MyClass2

Добавлено через 3 минуты
Не может создать шаблон с параметром QVector Type
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
19.01.2016, 14:30 #4
Knjagskij, Код использования покажите.
0
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 775
Завершенные тесты: 1
19.01.2016, 14:35  [ТС] #5
C++ (Qt)
1
2
    template<typename Type>
    QVector<Type> parseLogAttr(QString name_);
C++ (Qt)
1
2
3
4
5
6
template<typename Type>
QVector<Type> tretichServer::parseLogAttr(QString name_)
{
    QVector<Type> vec;
    return vec;
}
C++ (Qt)
1
 QVector<float> x = parseLogAttr(getDirName_Processing()+SCheckInputParams::logNames.attributeX);
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
19.01.2016, 14:38 #6
C++
1
QVector<float> x = parseLogAttr<float>(getDirName_Processing()+SCheckInputParams::logNames.attributeX);
1
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
19.01.2016, 15:08 #7
Нельзя перегружать функции по возвращаемому значению.
Сформулируйте зачем такая конструкция вам потребовалась...
0
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 775
Завершенные тесты: 1
19.01.2016, 15:10  [ТС] #8
Решил эту проблему с помощью шаблона. Нужно заполнять контейнер хранящимися в файле значениями, контейнер может хранить значения float, или int, имя файла является параметром.
0
19.01.2016, 15:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2016, 15:10
Привет! Вот еще темы с ответами:

Почему функция может не завершаться после выполнения return? - C++
В одном из моих проектов есть рекурсивная функция поиска элемента в дереве по ключу: node* ownTree::findNode(node* tempRoot, char* value)...

Слабо создать программу, которая много чего делает, а в main только return 0? - C++
Пояснение: Имеется некая функции Function() {} Причем она может делать что угодно. Кто-то знает, как запустить эту функцию НЕ из...

В чем разница между return и return false/true - C++
Привет всем. Вот подскажите плиз) return; return false; return true; расскажите пожалуйста об етих операторах.. чем они...

Функция и перегрузка - C++
Для каждой проги нужно переделать под функцию и выполнить перегрузку #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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