TITLE: No type-safety based upon externals [ Material adapted from "C++ Gotchas", tutorial notes by Tom Cargill, p. 8] Consider the following two files, which have mismatched external declarations: (main.cc) #include extern long key; extern char* msg; int main () { cout << "key = " << key << endl; msg += 8; *msg = 'O'; cout << "msg = " << msg << endl; return 0; } (misc.cc) #include short key = 43; const char* const msg = "cannot touch!"; Executing this test program might result in the following output: key = 245839 msg = Ouch!