left of '.identifier' must have class/struct/union type
The left side of the specified class member access operator (.) was not a class (or structure or union) type.
The following is an example of this error:
int i;
struct S
{
public:
int member;
} s, *ps;
void main()
{
i.member = 0; // error, i is not a class type
ps.member = 0; // error, ps is a pointer to a structure
s.member = 0; // OK, s is a structure type
ps->member = 0; // OK, ps points to a structure S
}