template<some_args>
void SomwFunc()
{
static SomeType var;
}
Как я понимаю при разных аргументах шаблона должны быть разные переменные. Если да то у VC7.0 с этим проблемы... При линьковки получаем ошибки типа такая переменная уже есть... Благо класс мой и он маленький... Я просто прицепил к нему такой же набор шаблонных параметров и все сразу заработало.
... << RSDN@Home 1.0 beta 6a >>
Здравствуйте, WolfHound, Вы писали:
WH>WH>template<some_args>
WH>void SomwFunc()
WH>{
WH> static SomeType var;
WH>}
WH>
WH>Как я понимаю при разных аргументах шаблона должны быть разные переменные. Если да то у VC7.0 с этим проблемы... При линьковки получаем ошибки типа такая переменная уже есть... Благо класс мой и он маленький... Я просто прицепил к нему такой же набор шаблонных параметров и все сразу заработало.
Не помню, осталься ли этот баг в VC7.0, но в VC6 при определении шаблонной функции необходимо в сигнатуре указать
все параметры шаблона.
template <typename T>
void f(T* = 0)
{
static int n = 0;
cout << n << endl;
++n;
}
int main(int argc, char** argv)
{
f<int>();
f<double>();
return 0;
}
Вывод
0
0
Здравствуйте, Bell, Вы писали:
B>Не помню, осталься ли этот баг в VC7.0, но в VC6 при определении шаблонной функции необходимо в сигнатуре указать все параметры шаблона.
Похоже остался ибо у меня все параметры детектятся и проставлять их рачками я не буду блоаго есть обьезд.
... << RSDN@Home 1.0 beta 6a >>