我不明白为什么以下代码返回*end=='\0\'
?
bool isValue(const string &token,int &output_value) //czy string jest wartoscia
{
char *end = 0;
errno=0;
output_value = strtol(token.c_str(),&end,10); //converts string to int
if (errno!=0) return false;
return *end=='\0';
}
编辑:和愚蠢的问题,但我不知道为什么有
bool isValue(const string &token,int &output_value)
代替
bool isValue(string &token,int &output_value)
和
bool isValue(string token,int output_value)