LINUX.ORG.RU

Проблема с шаблонами


0

0

Блин, чегото туплю: template <int dummy> struct Holder { static int s_var; };

int Holder<0>::s_var;

g++ test.cpp -o test error: too few template-parameter-lists

Ругается на int Holder<0>::s_var; Как правильно объявить статическую переменную в шаблоне?


Ответ на: комментарий от anonymous

ну тут суть, что вместо int используется пользовательский класс, - цель чтоб его конструктор выполнился до main Уже вроде разобрались

sotlef
() автор топика
Ответ на: комментарий от anonymous

то что они header-only, тоже пока не понимаю решение разработчика из нашей команды - но пока он недоступен нужно использовать текущее решение с исправлениями в рабочей копии

sotlef
() автор топика
Ответ на: комментарий от www_linux_org_ru

Да, правильно. На самом деле проблема была, когда s_var имеет составной тип. тогда вместо int Holder<0>::s_var = 123 нужно писать T Holder<0>::s_var = T(); «=T();» и было причиной почему была создана эта тема, gcc давал невразумительное сообщение об ошибке компиляции

sotlef
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.