>>173
#include <string>
void f(std::string& s) { s.reserve(1); }

これがエラーになるのか?
手元の gcc 3.4.4 @cygwin では普通にコンパイルできたよ。