Circular dependencies

Yeah you got it. Type names and struct vs class need to match. Forward-declared types can be used if all you need to know is where in memory to find an object (pointer or ref). If you need to know the size, access any member variable, or call any function on the type, then you need the full definition (so you need the include with the definition, unless the type is defined at the top of the cpp).

1 Like