I haven't totally figured out what I want but let me explain the scenario.
When creating special member function: copy constructor; assignment operator its important to make sure we have copied, all the member variables. Would it be possible to check tat all member variables are referenced in these functions? Or simply insert a template for these functions that is just {lhs.a = rhs.a; lhs.b = rhs.b ...} for each member variable? Then I can edit it from there. Periodicall I could re-insert the template and check that I'm not missing anything.
how about making a small helper function which you call in your copy ctor /assignment operator and use vs builtin classbrowser to check that all members are used?
My gut instinct is that this is harder, and will have more edge cases. I know myself well enough to know that I would start to rely on any such function, once it existed, so it would need to be very reliable.
The immediate problem is to define "used". This could be defined as each member variable is referenced in the function, but is this the correct test?
The second problem is when should this be enabled? When I have classes that define both a copy constructor and an assignment operator I have a function clone(...) and these two functions both call clone() which deals with all of the member variables, so I only have one function to update and keep an eye on.