I have a constructor attempting to initialize a field in a base class. The compiler complains. The field is protected, so derived classes should have access.
You are not "accessing" m_data -- you are initializing it. However, it's already been initialized in the Base Class's ctor. If you want to change it's value, assign to it in the body of your ctor: