As the title suggests, is it correct or valid to import/export static data from within a C++ class?
I found out my problem – the author of the class I was looking at was trying to export writable static data which isn’t supported on this platform.
Many thanks for the responses however.
Is it correct inasmuch as it’ll work and do what you expect it to? Assuming that you are talking about using _declspec(dllexport/dllimport) on a class or class member, yes, you can do that and it should give you the expected result – the static data would be accessible outside your dll and other C++ code could access it provided that that C++ access specification (public/protected/private) wouldn’t block outside access in the first place.
Is it a good idea? Personally I don’t think so as you would be exposing class internals not only within your library but to the outside world, which means that it will be pretty much impossible to change what is an implementation detail at the end of the day. Ask yourself if you are 100% certain if the interface of this class and large parts of its implementation will never, ever change…