|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.08.2014, 22:49 | #11 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Проблемы выравнивания адресов можно решить с помощью анонимного union.
А почему нельзя напрямую в Function_ref обяъвить указатель на функцию нужного типа? Вроде _Ret(*pfn)(Args...)? |
26.08.2014, 23:33 | #12 | |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
_Bers, спасибо.
Цитата:
Моя задача в целом - передать лямду в виртуальную функцию и оттуда вызывать. Для решения задачи, функция могла бы быть шаблонной, но шаблонная функция не может быть виртуальной. |
|
27.08.2014, 10:24 | #13 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Можно сделать union с двумя указателями (лямбда и обычная функция) и два конструктора. Аргументы совпадают. Если у лямбды есть скрытый аргумент, как у методов класса, тогда не понятно откуда он берется в нынешней реализации.
Шаблонная функция тоже может быть виртуальной, просто обычно в этом нет смысла. |
27.08.2014, 16:08 | #14 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
27.08.2014, 17:24 | #15 | |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Цитата:
Код:
Код:
2. Не знаю как вы сюда виртуальность вкрутите: Код:
Последний раз редактировалось 220Volt; 27.08.2014 в 17:35. |
|
27.08.2014, 21:27 | #16 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Вызываются они одинаково, разве нет? Ну и даже если вызывать по разному, тогда можно сделать дополнительный указатель на метод-вызывальщик, в зависимости от типа а точный тип мы узнаем из конструктора. По мне так это наглядней, чем аж два вложенных класса.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как лучше хранить игровые данные | 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 |