bleem1998 发表于 2020-4-23 19:34:48

编译错误,函数的指针

{
      void* ttt = 0;
      void (*p)(void);
      p = ttt;                                //在CPP里编译错误了,C语言没事
}

error: invalid conversion from 'void*' to 'void (*)()' [-fpermissive]|


请问该如何写这个类型转换
谢~~~~~~

bleem1998 发表于 2020-4-23 19:48:36

补充一下
用typedef的方法可以解决,请问有没有不用typedef而是直接写类型的方法?


void *ttt = 0;
typedef void(*Fun)(void);
Fun p = (Fun) ttt;

人造人 发表于 2020-4-23 20:19:25

#include <iostream>

int main() {
    void* ttt = 0;
    void (*p)(void);
    p = (void (*)(void))ttt;
    return 0;
}

bleem1998 发表于 2020-4-23 22:51:32

多谢LS
漂亮
页: [1]
查看完整版本: 编译错误,函数的指针