I hate it when I have to go hunting for undefined references using nm just because I included a .h file where I needed to include a .i file. I shouldn't need to do that, the compiler should tell me to fix my code! But it can't because that file could be present in some linked code. !!! Those dudes at the C++ committee need to REMOVE some things from C++ so that the compiler devs can create a smarter linker and compiler.
I hate having to declare and define my constants in 2 different files. Why can't I define them both in the header file!! Its a constant dammit! Its not going to change!!!!
Scope resolution on class member methods, get rid of it. It reeks. Every time I write:
void ClassName::methodName
I am reminded that C++ has awful support for classes. Why can't I just do:
class Name {
method 1
method 2
.
.
.
method n
}
Oh but it's C++, its sacred! We can't change it! Congrats to the C++ committee for resisting any positive evolution of C++ for over a decade. You guys sure as hell are stubborn.
Its not 1989 anymore, fix C++, no more excuses.
You know what really sucks in most modern ide's? Move your cursor into the middle of any line of code and hit tab. The editor just slams a tab right there in the middle of your code. It does not tab the line.

But it gets worse! If your cursor is on the first character of a line and you hit tab several times, modern ide's like eclipse will just happily insert those number of tabs. Emacs, which is how old now? 30 something? Got this right so long ago. Hit tab anywhere on a line and it tabs the whole line to the right spot according to the code context. Hit tab again, and it won't just insert a tab cause that would ruin your format. How can you not have that simple feature!? Every time that happens to me, I have to resist the urge to fire up emacs. The only thing modern ide's give you is an automated build. Pfft. You should know how to write you own damn build file whether its ant or maven or make. Learn it. Its important!
....

Blows up!