Size: a a a

2020 September 04

RM

Roy Mustang in C++ Together 2.0
А там цепочка такая IPlugin -> IPluginTestA -> PluginTestA
источник

RM

Roy Mustang in C++ Together 2.0
Эта свинья пропускает PluginTestA класс в GetPlugin, а мне нужно чтоб не пропускала
источник

RM

Roy Mustang in C++ Together 2.0
То есть, нужно пропускать только IPluginTestA, тот класс что от IPlugin унаследовался, а наследников IPluginTestA отвергать
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Убедись, что на других случаях она пашет, я помню садился часто жопой на подобные штуки, что они не отключали специализации
источник

RM

Roy Mustang in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
Убедись, что на других случаях она пашет, я помню садился часто жопой на подобные штуки, что они не отключали специализации
Так свинья пропускает говорю же
источник

RM

Roy Mustang in C++ Together 2.0
Она должна на уровне компиляции уже отказывать
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Roy Mustang
Так свинья пропускает говорю же
Ну я подозреваю, что ты её неверно написал, и говорю, что чекни на более простых примерах
источник

RM

Roy Mustang in C++ Together 2.0
Да проверил только что, свинья работает как задумано
источник

RM

Roy Mustang in C++ Together 2.0
is_base_of видит что PluginTestA унаследован от IPluginTestA, а тот в свою очередь от IPlugin и поэтому и пропускает класс PluginTestA, так как он тоже наследник от IPlugin, хоть и через один класс
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Ну ок, но я вс равно не могу понять, чем тебе передача производного от верного абстрактного мешает
источник

RM

Roy Mustang in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
Ну ок, но я вс равно не могу понять, чем тебе передача производного от верного абстрактного мешает
Прикол в другом, там другие модули не могут получить указатель, только через абстрактный класс ты можешь юзать классы других модулей
источник

RM

Roy Mustang in C++ Together 2.0
Иначе линковка сасать скажет
источник

RM

Roy Mustang in C++ Together 2.0
Короче, нужна освященная свинья, которая не позволит бастарду пройти если он не истинный наследник IPlugin
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Roy Mustang
Прикол в другом, там другие модули не могут получить указатель, только через абстрактный класс ты можешь юзать классы других модулей
Покажи, где это у тебя в коде в репе, я погляжу
источник

M

Michael in C++ Together 2.0
кстати, Рой, а ты комментируешь код?)
источник

M

Michael in C++ Together 2.0
источник

RM

Roy Mustang in C++ Together 2.0
Michael
кстати, Рой, а ты комментируешь код?)
Да, doxygen херачу
источник

RM

Roy Mustang in C++ Together 2.0
Но щас у меня нет комментов почти, ибо не готово нихуя
источник

RM

Roy Mustang in C++ Together 2.0
Только местами
источник

RM

Roy Mustang in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
Покажи, где это у тебя в коде в репе, я погляжу
Щас закоммичу и дам
источник