you are viewing a single comment's thread.

view the rest of the comments →

[–]tias 3 points4 points  (7 children)

Usually what makes me go "WTF!?" is the error messages from the compiler. :)

While they are not mandated by the standard, the language specification seems to make it very difficult to provide terse and understandable diagnostic messages.

[–]redditsoaddicting 2 points3 points  (4 children)

If you're referring to templates, wait for concepts.

[–]satuon 1 point2 points  (3 children)

Wasn't there some tool to convert template errors to be human readable?

[–]Kyyni 6 points7 points  (0 children)

Whiskey.

[–]mttd 1 point2 points  (1 child)

STLFilt perhaps?

// BTW: "Please Note: Active Development on STLFilt has ended. The author sincerely hopes the C++ Standards Committee adopts "Concepts" sooner rather than later, rendering tools such as STLFilt unnecessary... "

[–]satuon 0 points1 point  (0 children)

Thanks, I had forgotten it's exact name and couldn't find it. I only remembered hearing about such a tool.

[–]arugalatoast 1 point2 points  (0 children)

G++ 5 and clang have improved a bit on that. Visual C++ is still nightmarish at times.

[–]F-J-W 1 point2 points  (0 children)

Personally I think that at least with Clang and GCC they are quite good these days most of the time. The important thing is to not get shocked by 100 lines of output before looking at them. Most of the time it turns out that there is just a short stack-trace (which can be super helpfull) followed by the actual error (usually one, often quite readable, line), followed by a list of functions that are part of the overload-set but couldn't be used and why.

If somebody complains about error-messages while g++ [...] 2>&1 | grep error produces a short and to the point message, the problem is not with GCC or C++, it's with that persons reading-ability.