泫溯 2024-06-21 10:36 采纳率: 94.7%
浏览 8
已结题

想知道这报错的原因是什么呀,真的是不能参与非指针类型转换吗


#include<iostream>
using namespace std;

int main()
{
    int i = 0x7fff;
    long s = static_cast<long>(i);
    cout << s << endl;
    i = s;
    cout << i << endl;;
    void* p = &i;
    cout << p << endl;
    float* m = (float*)p;
    cout << m << endl;
    m = static_cast<float*> (p);
    cout << m << endl;
    
    cout << static_cast<float> (*p) << endl;
    //void 类型指针不能参与非指针类型转换?

    return 0;
}

想知道这报错的原因是什么呀,真的是不能参与非指针类型转换吗?

  • 写回答

3条回答 默认 最新

  • 关注
    void*类型如何解引用, 解引用的前提是有类型, 有类型才知道如何解读内存中的数据.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月6日
  • 已采纳回答 6月28日
  • 创建了问题 6月21日