Nested data member pointer - not possible?
c++, member-pointers
Solution
AFAIK, this is not possible. A pointer-to-member can only be formed by an expression of type `&qualified_id`, which is not your case.
Vite Falcon's solution is probably the most appropriate.
Problem
The following reduced code sample does not do anything useful but two subsequent assignments to a data member pointer. The first assignment works, the second one gives a compiler error. Presumably because its to a nested member. Question would be: Is it really just not possible to let a member pointer point to a nested member or am I missing any fancy syntax there? ``` struct Color { float Red; float Green; float Blue; }; struct Material { float Brightness; Color DiffuseColor; }; int main() { float Material::* ParamToAnimate; ParamToAnimate = &Material::Brightness; // Ok ParamToAnimate = &Material::DiffuseColor.Red; // Error! *whimper* return 0; } ``` ATM I am working around by using byte offsets and a lot of casts. But that is ugly, I would better like to use those member pointers. Yes, I know that question surely arised before (like nearly any question). Yes, I searched beforehand but found no satisfying answer. Thanks for your time.