Compiler Error C3374
can't take address of 'function' unless creating delegate instance
The address of a function was taken in a context other than the creation of a delegate instance.
The following sample generates 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);
}