Hi Andrew, The compiler cannot decide which of the two foo functions are more suitable, since they are both equally suitable. I presume you wanted the "Got in #1" routine to be called, given that you are passing in a char* rvalue. (If you were passing in an lvalue, then the "Got in #2" would be the match.) HTH, --Eljay