Ошибка компилятора C3351
"объект": конструктор делегата: второй аргумент должен быть адресом статической функции-члена или глобальной функции
Компилятор ожидает адрес функции, объявленной как static
.
В следующем примере возникает ошибка C3351:
// C3351a.cpp
// compile with: /clr
delegate int D(int, int);
ref class C {
public:
int mf(int, int) {
return 1;
}
static int mf2(int, int) {
return 1;
}
};
int main() {
System::Delegate ^pD = gcnew D(nullptr, &C::mf); // C3351
System::Delegate ^pD2 = gcnew D(&C::mf2);
}