Wrong.
struct Foo; class Foo { }; int main(int, char**) { Foo f; }
http://cboard.cprogramming.com/cplusplus-programming/134827-...
Wrong.
compiles cleanly with -ansi -pedantic -Wall -Wextra besides warning about unused variable.