Bernie,
I just made your change and now input.cxx compiles fine.
/**
* Settings for a mouse.
*/
struct mouse; // This is new code
friend struct mouse; // This is new code
struct mouse {
mouse ();
virtual ~mouse ();
int x;
int y;
SGPropertyNode * mode_node;
SGPropertyNode * mouse_button_nodes[MAX_MOUSE_BUTTONS];
int nModes;
int current_mode;
mouse_mode * modes;
};
Thanks!
Jonathan Polley
On Thursday, March 28, 2002, at 06:23 PM, Bernie Bright wrote:
> David Megginson wrote:
>>
>> Jonathan Polley writes:
>>
>>> I reverted input.hxx back to what was in CVS and moved the enumeration
>>> from being private to public and MSVC now likes using an enumeration
>>> element to define an array. Why the compiler cares about an enum being
>>> private vs. public, I will never know (although I have seen this
>>> behavior
>>> before). I also brought in the newest input.cxx and I can now run
>>> FlightGear again.
>>
>> Does it still work if the enum is protected? I'd like to keep things
>> as well encapsulated as possible.
>>
>
> You can keep the enum private if you add the following declarations
> immediately afterwards:
>
> struct mouse;
> friend struct mouse;
>
> It seems that MSVC doesn't grant the nested mouse decl. any special
> access privileges to its surrounding class.
>
> Bernie
>
> _______________________________________________
> Flightgear-devel mailing list
> [EMAIL PROTECTED]
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel