I am migrating some C++ code from structures to classes.
I was using structures mainly for bit-field optimizations which I do not need any more (I am more worried about speed than saving space now).
I can't name all the essential things, but I can name one: encapsulation.
The only technical difference in C++ between struct and class is the default access. In a struct, everything is public by default; in a class, everything is private. I'm assuming that you're talking about POD structs here, where everything is public.
What I would do is this:
struct
keyword to class
and see where calling code breaks. That would give you a clue about what parts of the type are used where.