Forward declaring a type in C++: The good, and the bad | Not Hacker News!