.NET C++/CLI – C3145, global or static variable may not have managed type

If you are trying to use a cheeky file static or global variable while eagerly developing your C++/CLI software you will probably encounter the following error:

 

“C3145, global or static variable may not have managed type”

 

At this point you remember that this isn’t really C++ but a crazy non-standard extension to C++! So instead of declaring a file static scope variable like this:

So as a fix, you can declare a container class and add it as a static member, thus:

And then access it in this way:

Thus solution worked well for us, but of course we will be getting rid of this global variable in due time! ;)