次の方法で共有


コンパイラ エラー C3365

演算子 'operator': 型 'type1' および 'type2' の異なるオペランドです

異なる型のデリゲートを作成しようとしました。 デリゲートの詳細は、方法: デリゲートの定義と使用方法 (C++/CLI) を参照してください。

次の例では C3365 が生成されます。

// C3365.cpp
// compile with: /clr
delegate void D1();
delegate void D2(int);

ref class R {
public:
   void f(){}
   void g(int){}
};

int main() {
   D1^ d1 = gcnew D1(gcnew R, &R::f);
   D2^ d2 = gcnew D2(gcnew R, &R::g);
   D1^ d3 = gcnew D1(gcnew R, &R::f);

   d1 += d2;   // C3365
   d1 += d3;   // OK
   d1();
}