【发布时间】:2013-08-08 03:25:00
【问题描述】:
我正在尝试找出从 C 中的 void * 函数调用返回整数的正确方法。
即..
#include <stdio.h>
void *myfunction() {
int x = 5;
return x;
}
int main() {
printf("%d\n", myfunction());
return 0;
}
但我不断得到:
警告:return 从整数中生成指针而不进行强制转换
我需要做演员来完成这项工作吗?似乎返回 x 没有问题,真正的 myfunction 返回指向结构和字符串的指针,它们都按预期工作。
【问题讨论】:
-
你为什么要这样做?
-
myfunction返回类型为void*,但x的类型为int。你为什么想让它工作?您正在处理的真正功能是什么? -
一个足够好的理由:维护其他人所做的代码。
标签: c function casting integer void