Jump to content
    

Шаблоны с++

код

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);
}

невзлетело. вроде как в аргументы шаблона можно передать пользовательский тип. Что не так?

Share this post


Link to post
Share on other sites

разобрался. в шаблон нельзя передавать не константу, которую нельзя вычислить на этапе компиляции. можно тему удалить.

Share this post


Link to post
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...