编译器错误 C3350
“delegate”: 委托构造函数需要 number 个参数
创建委托实例时,必须传递两个参数,一个是包含委托函数的类型的实例,一个是该函数。
下面的示例生成 C3350:
// C3350.cpp
// compile with: /clr
delegate void SumDelegate();
public ref class X {
public:
void F() {}
static void F2() {}
};
int main() {
X ^ MyX = gcnew X();
SumDelegate ^ pSD = gcnew SumDelegate(); // C3350
SumDelegate ^ pSD1 = gcnew SumDelegate(MyX, &X::F);
SumDelegate ^ pSD2 = gcnew SumDelegate(&X::F2);
}