c - 如何在 ac 函数中返回通用指针?
问题描述
我见过这种语法:
void *job(void *arg){
//does something, no return type
}
这个符号可以像其他方式一样使用:
void *method = job;
所以看起来你可以使用这个符号来更快地写出这样的东西:
void job(void *arg){ //no pointer here
//does something, no return type
}
...
void *method = *job;
但是我想知道如何表达一个方法实际上应该返回一个通用指针?我在这里缺少什么?
解决方案
void *job(void *arg){ //does something, no return type }
至于返回 a void*
, 没有返回类型是 false
void
和void*
不同的
这个符号可以像其他方式一样使用:
无效*方法=工作;
如果您想说保存指向函数作业的指针,这不是正确的方法,必须是void *(*method)(void) = job;
void *method = *job;
是错误的,如果你使用选项 -pedantic 你会得到错误ISO C forbids initialization between function pointer and ‘void *’ [-Wpedantic]
我鼓励您询问高级别的警告/错误,例如如果您使用gcc do gcc -pedantic -Wextra
推荐阅读
- python - 使用 pandas 根据条件计算项目在单独数据框中出现的频率
- javascript - 具有少数和一个特定条件的高级排序
- neural-network - 将 torch.nn.DataParallel 与自定义 CUDA 扩展一起使用
- java - 将多个文件一一拖放到javaFX中
- android - 将 Dagger 2 注入 Worker 类
- macos - 构建并推送多拱 docker 镜像
- python-3.x - 无法使用 tf.restore 恢复预训练模型
- android - 从 SQLite 数据库填充 MPAndroidChart BarChart
- python - Python:WSGI 崩溃且没有错误
- hive - Cloudera Hue - 在 serde 属性规范中无法识别“WITH”“SERDEPROPERTIES”“(”附近的输入