somebody had a question a couple of days ago. i wonder if the declaration was inside a switch or after a label? in the example below, if the seemingly superfluous ';' (comments 1, and 2) are removed, it is a syntax error. also note the scope of the declaration inside a switch (e.g. when argc==1) explanation: http://www.thescripts.com/forum/thread214730.html reference: http://wwwold.dkuug.dk/jtc1/sc22/open/n2794/n2794.txt (look for A.2.3)