Я написал две управляемые оболочки C ++ для нативных классов C ++, и мне нужен неуправляемый объект нативного класса B в качестве возвращаемого параметра в функции управляемого Wrapper A, который создает нативный класс A!
Пример:
// Wrapper A
WrapperA::WrapperA(ClassB *classB)
{
ClassA *classA = new ClassA(classB);
...
}
// native c++
ClassA::ClassA(ClassB *classB)
{
m_classB = classB; // ClassB *m_classB; in .h
...
}
// Wrapper B
ClassB* WrapperB::GetNativeClassB()
{
return m_classB; // ClassB *m_classB; in .h
}
// in C#
...
WrapperB wrapperB = new WrapperB();
unsafe // need for C++ pointer
{
WrapperA wrapperA = new WrapperA(wrapperB.GetNativeClassB() );
// Error: is inaccessible due to its protection level
// -> is set to public
}
...
Есть ли лучший способ без небезопасных и почему я получаю ошибку доступа ???
Заранее спасибо!
приветствует leon22