Я заметил, что спецификатор класса хранилища может быть помещен в экземпляр шаблона, и это не создает ошибку компилятора. Я знаю, что класс хранения может использоваться в дизайне шаблона и не может использоваться в специализации, но мне было интересно, почему он не отклоняется компилятором при создании экземпляра. Я пробовал разные комбинации, и это никак не влияло на линковку. Я что-то упустил, пожалуйста?
template <typename T>
T my_func ( T arg1 )
{
return 1 ;
} ;
template
static // gcc allows this line without error/warning but has no effect?
int my_func ( int arg1 ) ;
Редактировать: Примечание. Я помещаю экземпляр шаблона в другой файл .cpp, из которого он используется (для проверки соответствия), хотя это не ясно в фрагменте.
Задача ещё не решена.
Других решений пока нет …