Поделиться через


Ошибка компилятора C2768

Обновлен: Ноябрь 2007

Сообщение об ошибке

"function": недопустимое использование явных аргументов шаблона
'function' : illegal use of explicit template arguments

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

Эта ошибка появилась вVisual Studio .NET 2003 в качестве одного из усовершенствований согласованности компилятора.

Дополнительные сведения см. в разделе Сводная информация о критических изменениях времени компиляции.

Следующий пример приводит к возникновению ошибки C2768:

// C2768.cpp
template<typename T>
void f(T) {}

void f<int>(int) {}   // C2768

// an explicit specialization
template<>
void f<int>(int) {} 

// global nontemplate function overload
void f(int) {}