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