C ++调用ref-class函数(混合代码)

时间:2011-04-11 15:09:22

标签: visual-c++ c++-cli mixed

我有一个引用混合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);

如何访问第二个功能?

1 个答案:

答案 0 :(得分:4)

这可能是因为默认情况下将本机类型(在本例中为CRect)视为私有。因此,虽然可以访问该方法,但无法访问rc的参数类型。您可以使用make_public访问它: http://msdn.microsoft.com/en-us/library/ms235607.aspx

搜索C3767和make_public,您会发现有关该主题的大量其他信息。