Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
"function": изменение поведения: явная специализация не может быть конструктором копирования или оператором назначения копирования
Замечания
Эта ошибка также может быть создана в результате работы соответствия компилятора, которая была выполнена для Visual Studio 2005. Предыдущие версии Visual C++ позволили явным специализациям конструктора копирования или оператора назначения копирования.
Чтобы разрешить C2299, не создавайте конструктор копирования или оператор назначения шаблоном функции. Сделайте их не шаблонными функциями, которые принимают тип класса. Любой код, вызывающий конструктор копирования или оператор назначения, явно указывая аргументы шаблона, необходимо удалить аргументы шаблона.
Пример
Следующий пример вызывает ошибку C2299.
// C2299.cpp
// compile with: /c
class C {
template <class T>
C (T t);
template <> C (const C&); // C2299
C (const C&); // OK
};