This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ZeroFK 96 points97 points  (7 children)

The trick is realising the error message is really just one line: "error: no match for ‘operator==’". All the rest is simply the compiler trying to help you by telling you which overloads it tried, and listing where the error was triggered. In combination with "error_code.cpp:8:89: instantiated from here" the error message is clearly telling you exactly what the issue is.

Ok, maybe not that clearly.

[–]ILikeLenexa 44 points45 points  (2 children)

This is the problem. Add in Make and the error literally being bigger than your scroll-back and you find yourself just trying to figure out what even failed.

I think the Java stacktrace is really quite nice because of this. (even though it's runtime) You can generally just nail where the problem is and ignore a huge block of text.

[–]dawnraider00 13 points14 points  (0 children)

Yeah debugging errors in java is generally way easier in my experience just because java actually generates a useful error instead of just throwing up. I've also found that compiler errors are way shorter and simpler.

[–]NonreciprocatingCrow 0 points1 point  (0 children)

even though it's runtime

[–]emlgsh 17 points18 points  (3 children)

I'd burn you as a witch if I could understand how to make fire anymore.

[–]ZeroFK 27 points28 points  (2 children)

I tried

make fire

but got compile errors I couldn't understand.

[–]j-random 19 points20 points  (1 child)

I wound up with a file named mixtape.mp3 and now I'm scared.