다음을 통해 공유


컴파일러 오류 C3073

'type': ref 클래스에 사용자 정의 복사 생성자가 없습니다.

/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
}