line 15: error C2533: 'alarm::{ctor}' : constructors not allowed a return type
error C2264: 'alarm::alarm' : error in function definition or declaration; function not called
Is there an explanation, due to how the compiler parses C++, of why ";" is required after a class definition but not after a function/method definition? Couldn't the compiler just as well assume ";" even if it's not there, as soon as a closing bracket for a class definition is encountered? And if it can assume that, why require it?
Not complaining (I love C++)... just curious. I'm sure there's a reason, I just don't see it.