A declaration introduces an identifier and describes its type, be it a type, object, or function. A declaration is what the compiler needs to accept references to that identifier. These are declarations:
externint bar;externint g(int,int);double f(int,double);
// extern can be omitted for function declarationsclass foo;// no extern allowed for class declarations