Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Type: класс ref не имеет определяемого пользователем конструктора копирования
В компиляции /clr (компиляция среды clr) компилятор не создаст конструктор копирования для ссылочного типа. В любой компиляции /clr необходимо определить собственный конструктор копирования для ссылочного типа, если ожидается, что экземпляр типа будет скопирован.
Дополнительные сведения см. в разделе Семантика стека C++ для ссылочных типов.
Пример
Следующий пример приводит к возникновению ошибки C3073.
// C3073.cpp
// compile with: /clr
ref class R {
public:
R(int) {}
};
ref class S {
public:
S(int) {}
S(const S %rhs) {} // copy constructor
};
void f(R) {}
void f2(S) {}
void f3(R%){}
int main() {
R r(1);
f(r); // C3073
f3(r); // OK
S s(1);
f2(s); // OK
}