编译器错误 C3374
不能采用“函数”的地址,除非创建委托实例
在上下文中而不是委托实例的创建中采用函数的地址。
以下示例生成 C3374:
// C3374.cpp
// compile with: /clr
public delegate void MyDel(int i);
ref class A {
public:
void func1(int i) {
System::Console::WriteLine("in func1 {0}", i);
}
};
int main() {
&A::func1; // C3374
// OK
A ^ a = gcnew A;
MyDel ^ StaticDelInst = gcnew MyDel(a, &A::func1);
}