Interesting, I don't get that... what version of g++ are you using ? (I'm on 4.8.1.) But it certainly seems like a reasonable error message. Oh yeah, do you use clang ?

That reminds me, (perhaps this belongs on the dev list) should we be enabling more warnings ?  (from ##c++) "-Wall is only -Wsome; it leaves out many warnings. To really get a lot of warnings, you should use `-Wall -Wextra -Wpedantic -std=c++11"  It looks like we `-Wall` and `-std=c++11`.  It may be too much noise going to more warnings since we're working with C and raw pointers so much, though...