Compilation Problem with Emulation

Hi all,

So, I have some code that compiles fine for the device (and works fine for that matter) but is throwing an error when compiled for emulation.

Basically, I have a class defined in a .h file, and included in my .cu file. One of the private members of that class is a uint2 called “state”.
When compiled in emulation, the compiler gets upset that state is a private variable. If I move it to be a public variable, it compiles fine.

Now, the uint2 state is being used completely legally only by members of the class it belongs to, so I am wondering what the issue could be?

I have seen this also. My solution is to do this:

#ifdef DEVICE_EMULATION
#define private public
#endif