razrab83 21 14 апреля, 2021 Опубликовано 14 апреля, 2021 · Жалоба код typedef struct MySlideItem { int y; }MySlideItem; MySlideItem slide1, slide2, slide3, slide4; void removeF(MySlideItem *item ) { item->y = 23; } void f1(int a) { removeF(&slide1); } void f2(int a) { removeF(&slide1); } void f3(int a) { removeF(&slide1); } void f4(int a) { removeF(&slide1); } экземпляров структуры MySlideItem 100500. Соответственно однотипных функций типа f1(int) - также 100500. от акына простыней кода должен спасти шаблон. typedef struct MySlideItem { int y; }MySlideItem; MySlideItem slide1, slide2, slide3, slide4; void removeF(MySlideItem *item ) { item->y = 23; } template<MySlideItem BASE> void f1(int a) { removeF(&BASE); } int main() { f1<slide1>(0); } невзлетело. вроде как в аргументы шаблона можно передать пользовательский тип. Что не так? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razrab83 21 14 апреля, 2021 Опубликовано 14 апреля, 2021 · Жалоба разобрался. в шаблон нельзя передавать не константу, которую нельзя вычислить на этапе компиляции. можно тему удалить. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться