I agree with SirDice - it's actually relatively difficult for the compiler to work out where a lot of syntax errors are.

Anyhow, is it a compiler or an IDE you're looking for? I.e. do you just need something to create the executable files, or do you need the whole environment (text editor, syntax highlighting, built in debugging)?

If it's the compiler, generally gcc is the way to go (at least it's the most well known C/C++/whatever compiler I know of). If you're looking for an IDE there's a lot of options here are a few:

Bloodshed Dev-C++ (mentioned already)
Eclipse CDT (still in development but reasonably functional AFAIK)
Visual C++ Express Edition (I would avoid this unless you know what you're doing since I think it supports managed [.NET framework] code, and you could potentially get yourself in a mess using non-standard libraries)

Of the above, I've used Dev-C++ and CDT and found both to be pretty good. I guess CDT has the advantage of being built into Eclipse so if you use Eclipse for other purposes you might want to go with it.

Also, the "nothing was wrong" thing. Often looking at something you think that's the case, but looking closer you might find a subtle problem.

Cheers,
Adam