![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Проблемы выравнивания адресов можно решить с помощью анонимного union.
А почему нельзя напрямую в Function_ref обяъвить указатель на функцию нужного типа? Вроде _Ret(*pfn)(Args...)? |
![]() |
![]() |
![]() |
#12 | |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
![]()
_Bers, спасибо.
Цитата:
Моя задача в целом - передать лямду в виртуальную функцию и оттуда вызывать. Для решения задачи, функция могла бы быть шаблонной, но шаблонная функция не может быть виртуальной. |
|
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Можно сделать union с двумя указателями (лямбда и обычная функция) и два конструктора. Аргументы совпадают. Если у лямбды есть скрытый аргумент, как у методов класса, тогда не понятно откуда он берется в нынешней реализации.
Шаблонная функция тоже может быть виртуальной, просто обычно в этом нет смысла. |
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() |
![]() |
![]() |
![]() |
#15 | |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
![]() Цитата:
Код:
Код:
2. Не знаю как вы сюда виртуальность вкрутите: Код:
Последний раз редактировалось 220Volt; 27.08.2014 в 17:35. |
|
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Вызываются они одинаково, разве нет? Ну и даже если вызывать по разному, тогда можно сделать дополнительный указатель на метод-вызывальщик, в зависимости от типа а точный тип мы узнаем из конструктора. По мне так это наглядней, чем аж два вложенных класса.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как лучше хранить игровые данные | CeHTuJI | Общие вопросы Delphi | 3 | 27.09.2013 15:15 |
Классы. Указатель на объект в классе. | Son | Помощь студентам | 2 | 21.05.2013 18:45 |
Как хранить иерархические данные в реляционной бд? | Хару Атари | Помощь студентам | 1 | 24.03.2013 17:46 |
Указатель на объект внутри класса | WildTaburet | Visual C++ | 1 | 01.10.2012 14:34 |
где хранить данные принято? | yuran111 | Общие вопросы Delphi | 36 | 12.05.2011 00:23 |