Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
 Левые статические методы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

Дано:
1) Некоторый класс, указатель на который возвращается одной функцией и принимается другой
(обе функции в DLL).
2) Дурной темплейт функции, принимающей на вход указатель на класс-параметр, вызывающий
пару статических методов этого параметра и "другую функцию".

Проблема: в "некотором классе" нет этих статических методов, отсюда компиляция всего этого
барахла обламывается.

Вопрос: есть ли способ "внедрить" статические функции в класс "малой кровью", не создавая
наследника-прокси, реализующего полный интерфейс этого класса?

До правки заголовка с объявлением класса я уже додумался, оставлю этот хак на чёрный день.

Posted via ActualForum NNTP Server 1.5

12 ноя 20, 20:14    [22231077]     Ответить | Цитировать Сообщить модератору
 Re: Левые статические методы  [new]
Cerebrum
Member

Откуда: Омикрон Персей 8
Сообщений: 7980
Почему бы просто не сделать if constexpr проверку в шаблонной функции на наличие в классе-параметре необходимых статических функций и, при их наличии, вызывать их, а при отсутствии - не вызывать?
12 ноя 20, 20:34    [22231089]     Ответить | Цитировать Сообщить модератору
 Re: Левые статические методы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

Подколка в том, что и эта функция - не моя. С такой архитектурой API я скоро матом
говорить начну...

Posted via ActualForum NNTP Server 1.5

12 ноя 20, 23:10    [22231154]     Ответить | Цитировать Сообщить модератору
 Re: Левые статические методы  [new]
mayton
Member

Откуда: loopback
Сообщений: 49763
Сорцы давайте, филологи.

Или все читающие должны фантазировать?
13 ноя 20, 00:05    [22231173]     Ответить | Цитировать Сообщить модератору
 Re: Левые статические методы  [new]
Cerebrum
Member

Откуда: Омикрон Персей 8
Сообщений: 7980
Dimitry Sibiryakov
Подколка в том, что и эта функция - не моя.

но если эта функция шаблонная, значит ее код не скомпилирован в dll и исходник, скорее всего, доступен.
либо я чего-то не понимаю и действительно нужен минимально работающий пример
13 ноя 20, 10:08    [22231258]     Ответить | Цитировать Сообщить модератору
Все форумы / C++ Ответить