30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
|
||||||
Передача функции параметром05.01.2015, 17:29. Показов 2463. Ответов 9
Метки нет Все метки)
(
первый раз с этим дело имею, вот хотел с std::function разобраться, делаю что то вроде:
![]() error C2664: "void f(std::function<int (void)>)": невозможно преобразовать аргумент 1 из "overloaded-function" в "std::function<int (void)>" то бишь он типа не знает какую подставить чтоли? но ведь в параметрах шаблона явно указано что функция без аргументов так чего он тупит? вобщем можно как то это разрулить? чтобы и с перегруженными работало?
0
|
05.01.2015, 17:29 | |
Ответы с готовыми решениями:
9
Передача объекта параметром и последующее изменение
Функции со строковым параметром |
05.01.2015, 17:41 | |
Передавай как указатель на функцию, явно приводи к указателю на нужный тип.
Вообще у тебя не объявлен тип-прототип для функции func.
0
|
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
|
|||
05.01.2015, 17:45 [ТС] | |||
0
|
![]() ![]() 8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||
05.01.2015, 17:53 | |||||||||||
http://rextester.com/LYE16587
0
|
![]() ![]() 8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||||||||
05.01.2015, 19:32 | ||||||||||||||||
http://rextester.com/IVJW56029
можно ещё вот так: http://rextester.com/GKLS32839
Добавлено через 10 минут Можно ещё вот так: http://rextester.com/SFGI99421
Что в общем случае работает быстрее, чем передача данных через аргументы функции.
0
|
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
|
|
05.01.2015, 20:47 [ТС] | |
hoggy, первый вариант это опять лишний код при вызове, варианты с шаблонами не годятся, потому что нужна жесткая типизация
Добавлено через 48 секунд а собственно для разнообразия покажите кто нибудь пожалуйста как самым старым способом через указатели передавать, может так будет меньше кода хотя бы... Добавлено через 12 минут кстати имена вызываемой и передаваемой функций отличаются если что (вдруг важно)
0
|
![]() ![]() 8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||||||||
05.01.2015, 20:52 | |||||||||||||||||||
![]() РешениеПри работе с перегруженными функциями у вас есть только два варианта: 1. Вы сами вручную выполняете приведение типов
Потому что компилятор - не телепат, и если ему явно не указать сигнатуру функции, то он не сможет догадаться, какая из перегрузок имеется ввиду. Шаблоно-код - это и есть "жесткая типизация". Жестче некуда - все в статике. Все ошибки диагностируются времени компиляции. http://rextester.com/VMFAE32750
1
|
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
|
|||||||
05.01.2015, 21:19 [ТС] | |||||||
а вот с указателями и правда меньше кода, но пока что не работает ![]() Добавлено через 3 минуты ааа все работает, скобки при вызове не надо было писать, спасибо за помощь ![]()
0
|
![]() ![]() 8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
05.01.2015, 21:34 | |||||||
Используйте тайпдефы над такими сложно-читабельными типами, как указатель-на-функцию, что бы упростить синтаксис, и улучшить читабельность. Не используйте std::function без необходимости. Не используйте шаблоны без необходимости.
0
|
05.01.2015, 21:34 | |
Помогаю со студенческими работами здесь
10
Ипользование const с указателем, параметром функции Как подменить константу переменной-параметром функции? Не правильная работа memcpy с вектором - параметром функции А какая разница между константным параметром и неконстантным в функции Передача функций в функции, замена инициализации функции ключевыми словами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
|
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C#
Задание 1:
КЛАСС FORM 1
public partial class Form1 : Form
{
Spisok listin = new Spisok();
. . .
|
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
|
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
|
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
|
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
|
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
|
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
|
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
|
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг.
Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя.
Странные серые краски проникают и. . .
|