So I have two classes (wrapper to unman C++) creating instances of one in the other, each class has a auto_ptr<unmanaged class=""> variable which holds the pointer to the unmanaged class and now it's public so I can call it like
managed_class_instance.pointercontainer
but it give's me warning
Warning C4677: 'pointercontainer': signature of non-private member contains assembly private type 'msclr::auto_ptr<T>'
I understand why this is happening ,it's because a type that is visible outside the assembly contains a member function whose signature contains a native type that is not visible outside the assembly. I can not make it private for obvious reasons, and I want to bind it to this assembly with something like
internal msclr::auto_ptr<unmanaged_class> pointercontainer;
but this doesn't work and gives me
Error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
So I have another wrapper in C# around this CLI one that the developer sees and he should not have access to pointercontainer. I know I can take care of all this in the C# but I also would like to do it in the CLI wrapper also.