Search code examples
visual-c++variablesnativeglobalmanaged

C++ declaring a managed variable in a native code


I have a .NET form, and a native code in my Visual Studio. The problem is: I can't declare a global instance of my .NET form in my native code, like this:

Editor^ maineditor;

It gives me this problem:

error C3145: 'EditorEntry' : global or static variable may not have managed type 'Cube3D::Editor ^'

Solution

  • Instead of using a global static try making it a static method in a container type

    ref class ManagedGlobals {
      public:
      static Editor^ maineditor = nullptr;
    };