一种奇怪的函数声明写法
typedef定义函数类型的函数声明写法最近网友遇到个问题:typedef void(FunType)(int);FunType a;这种写法,a是的什么东西,可以编译通过,用gcc测试输出a,结果是1。但是msvc,尝试输出a时会报错,int a(int,int)无法解析的外部符号之类的。还好msvc的错误比较明确,既然是a的链接出了问题,尝试在别处写个定义:void a(int){}编译通过,msvc输出变成了函数地址。结论通常都是定义函数指针类型:typedef void(
原创
2022-05-18 22:48:42 ·
434 阅读 ·
0 评论