Definition from cppreference:
Non-static data members are the variables that are declared in a member specification of a class.
And they have the example:
class S { int& r; // non-static data member of reference type };
But we know that non-static data member references are not variables because of the Standard:
§3/6: A variable is introduced by the declaration of a reference other than a non-static data member or of an object.
So is their definition of non-static data member wrong (they forgot about this exception)? Where I can find correct definition of the term "non-static data member"?
Unfortunately I couldn't find a definition of non-static data member in the C++ Standard.
EDIT: From cppreference object definition and discussion below we can conclude that non-static data members are not objects at all. And cppreference non-static member page corrected the discussed definition at the moment.
r
as a non-static class member then it's still a non-static member variable. It just happens to be a variable that references something else. If you had that definition as a "normal" function-local variable, would you still say it's not a variable? – Some programmer dude