账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    C无类型指针转int类型警告如何屏蔽
    38
    0

    code

    #include <stdio.h>
    int main(){
      int i=10;
      void *v=&i;
      int i2=(int)v;
      printf("%d\n",i2);
      return 1;
    }

    在编译是出现下面的警告

    ../src/c-base-point.c:12:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       int i2=(int)v;
              ^
    Finished building: ../src/c-base-point.c

    我知道这仅仅是1个警告,可以不用理会,但是如何屏蔽这个警报呢?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 稚|琦┕ 普通会员 1楼

      在C++中,无类型指针不能直接转为int类型,因为int是整数类型,而无类型指针是C++中一种特殊的指针类型,它可以指向任意类型的对象。如果你想在无类型指针上转为int类型,你需要先将其转换为int类型。

      例如,如果你有一个无类型指针p,你可以这样做:

      cpp int i = *p;

      在这个例子中,i的值将被设置为p所指向的对象的值。如果你的指针p指向一个int类型对象,那么i的值将是int类型。然而,如果你的指针p指向一个无类型对象,那么i的值将是0。

    更多回答
    扫一扫访问手机版