我有一个引用混合DLL的应用程序(CLI)。 DLL实现了一个带有静态函数的“ref”类。
这是ref-class的(部分)代码
public ref class AAA
{
public:
static bool Write(System::String^ sz);
// Not accessible!!!
public: static BOOL TraceRect(const CRect& rc);
};
在EXE中,在C ++代码中,我试图调用这两个函数:
// This works
AAA::Write("hello");
// This doesn't !!!
CRect rc(0, 0, 12, 234);
AAA::TraceRect(rc);
如何访问第二个功能?
答案 0 :(得分:4)
这可能是因为默认情况下将本机类型(在本例中为CRect)视为私有。因此,虽然可以访问该方法,但无法访问rc的参数类型。您可以使用make_public访问它: http://msdn.microsoft.com/en-us/library/ms235607.aspx
搜索C3767和make_public,您会发现有关该主题的大量其他信息。