I know that I can forward declare a class or struct that is defined in another header file (that I do not want to include). I'm trying to do the same thing with a plain old data type which is specified by a typedef.
class foo; // defined in foo.h
struct bar; // defined in bar.h
typedef baz; // defined in baz.h
void Crunch(foo& a, bar& b, baz& c);
Obviously the above code does not compile (error: 'baz' does not name a type) and if the line is removed, compilation fails with error: 'baz' has not been declared. If I change the word typedef to using in the above example, the error is expected nested-name-specifier before 'baz'.
Is there some equivalent to forward declaring the type baz?