But one thing that never ceases to amaze me is how bad the GNU C++ compiler's error messages can be. Why does this amaze me? Well, presumably GNU C++ is one of the compilers that is mostly frequently used by developers who "just care about writing working code, not messing with all that formal mumbo jumbo." Case in point, the following error message:
NelsYield-Instrumented.cxx:12: error: new types may not be defined in a return typeOkay, this doesn't seem too bad. But first, oh compiler, wouldn't it be helpful to tell me which type is the 'new' type you think that I'm declaring? Regardless, I know enough about what's going on to know that the error is not in using an undeclared type (the type is included in the header file that I #include) but rather somewhere else in the process. This isn't the best example of bad error messages from g++, it was the closest one at hand, but I personally have seen much worse, much less helpful messages. Just like SML, the error message never seems to actually tell you what the problem is, and you end up being Mr. C++ detective. Java is a dream by comparison. Anyway, just a little venting... not really sure where I'm going with all of this.
Natuarlly, I was missing a semi-colon at the end of my class definition. C++, I hate you will all of my being.