다음을 통해 공유


컴파일러 오류 C2217

'attribute1'에는 'attribute2'가 필요합니다.

첫 번째 함수 특성에는 두 번째 특성이 필요합니다.

예시

C2217은 가변 개수의 인수를 사용하는 CLR 함수에 대리자를 바인딩하려고 시도하는 경우 발생할 수 있습니다. 함수에 매개 변수 배열 오버로드도 있는 경우 대신 사용합니다. 다음 샘플에서는 C2217을 생성합니다.

// C2217.cpp
// compile with: /clr
using namespace System;
delegate void MyDel(String^, Object^, Object^, ...);   // C2217
delegate void MyDel2(String ^, array<Object ^> ^);   // OK

int main() {
   MyDel2^ wl = gcnew MyDel2(Console::WriteLine);
   array<Object ^ > ^ x = gcnew array<Object ^>(2);
   x[0] = safe_cast<Object^>(0);
   x[1] = safe_cast<Object^>(1);

   // wl("{0}, {1}", 0, 1);
   wl("{0}, {1}", x);
}