That particular case is using a forward declaration to avoid having to include the header for that type.
This Stack Overflow answer gives a good summary of when you can and can’t use a forward declaration: c++ - When can I use a forward declaration? - Stack Overflow