Разрешается ли компилятору игнорировать встроенные значения в случае специализации шаблона?C++

Программы на C++. Форум разработчиков
Anonymous
Разрешается ли компилятору игнорировать встроенные значения в случае специализации шаблона?

Сообщение Anonymous »

Предположим, у вас есть простая функция шаблона (для простоты не член класса) со специализацией по конкретному типу в том же файле .h...

Код: Выделить всё

template 
void    some_function(TYPE& val)
{
// some generic implementation
}

template 
inline void some_function(int& val)
{
// some int specific implementation
}
Если вы явно не укажете компилятору встроить специализацию (), вы получите ошибку связывания, если файл .h будет включен более одного раза (по крайней мере, я делаю это в Visual C++ 2008).

Мы все знаем, что встроенный — это просто предложение компилятору, которое он может игнорировать. В этом конкретном случае разрешено ли компилятору игнорировать это предложение и позволить компоновщику выйти из строя?

Подробнее здесь: https://stackoverflow.com/questions/176 ... ialization

Вернуться в «C++»