我试图将cv::CascadeClassifier
对象放在System.Windows.Forms.Form
类中。
Intellisense和编译器说,我在托管类中没有非托管类。
那么,我如何在Windows窗体应用程序中使用该非托管类?
答案 0 :(得分:1)
好吧,你的编译器是正确的。但是,您可以将指针作为成员的非托管类型。它不是最佳的,但它是你所拥有的。如果需要,您可以使用构造函数和析构函数进行分配和清理。
答案 1 :(得分:1)
here是来自MSDN的一些示例代码。它同意Ed S.的回答
U中的this指针是__nogc指针,因此如果没有先固定M,就无法调用f。
示例(来自同一页面)
// mcpp_nested_classes5.cpp
// compile with: /clr /LD
#using <mscorlib.dll>
__gc struct M {
__nogc struct U { // nested unmanaged class
int m_data;
U() { System::Console::WriteLine("U::U"); }
void f() { int* p = &m_data; }
};
int ia __nogc[100]; // embedded unmanaged array
};
M::U u; // use unmanaged nested type