所以我正在编写的某些代码有问题。这段代码的简化版本是这样的:
typedef unsigned int Variable_one;
int original_function(Variable_one *const v1){
if (validation(v1)) {
/*body*/
}
/* more body */
}
int validation(Variable_one v1) {
if (v1 == NULL) {
/* even more body */
}
}
我知道Variable_one是一个无符号的int,但是我必须执行的检查是是否将v1传递到验证函数中是Null值。每当我尝试这样做,即使我这样做
if (validation(*v1))
由于编译器设置,我仍然遇到相同的错误,即“指针与整数之间的比较”。至于修改函数签名或Variable_one,由于项目的限制,我不能。
答案 0 :(得分:0)
您需要将正确的数据类型传递给正确的参数,然后使用*询问该指针的值。
您在这里;
int validation(Variable_one *const v1)
{
if (*v1 == NULL) { /* even more body */ }
}