A schematic of my problem...
class A { public: // etc. protected: uint num; }; class B : public A { public: void foo(uint x = num); //bad }; >
You can use overloading instead of default arguments.
class A { public: // etc. protected: uint num; }; class B : public A { public: void foo(uint x); void foo() { foo( num ); } };