【发布时间】:2016-08-24 14:28:16
【问题描述】:
您好,我有以下代码,但由于某种原因出现错误,似乎无法弄清楚原因。
warning: return makes integer from pointer without a cast
我的代码是:
long convertToInt(char *convert) {
char *p = convert;
while(*p){
if(isdigit(*p)) {
long val = strtol(p, &p, 10);
return val;
} else {
p++;
}
}
return NULL;
}
【问题讨论】:
-
为什么要将指针转换为整数?
-
有一种代码味道,它是
convertToInt,意思是一个int,而不是一个long,这是一种误导。 -
您能否说明您打算如何使用
convertToInt函数?答案可能取决于此。