编译器错误 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();
}