繁体   English   中英

将常量指针作为参数传递给另一个函数的问题

[英]Issue with passing a constant pointer as an argument to another function

所以我在编写一些代码时遇到了问题。 这段代码的一个简单版本是这样的:

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 是一个无符号整数,但我必须执行的检查是 v1 是否被传递到验证函数中是一个 Null 值。 每当我尝试这样做时,即使我这样做

if (validation(*v1))

我仍然遇到相同的错误(由于编译器设置),即“指针和整数之间的比较”。 至于修改函数签名或Variable_one,我不能,因为项目的限制。

您需要将正确的数据类型传递给正确的参数,然后使用 * 请求该指针处的值

干得好;

int validation(Variable_one *const v1) 
{ 
if (*v1 == NULL) { /* even more body */ }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM