C++指针问题...为什么调用函数中要用void?

2025-04-07 14:09:33
推荐回答(4个)
回答1:

void*说明返回的是通用指针,不是说没有返回值。需要用强制转换成具体的类型。
比如函数malloc返回的就是void*,需要根据不同的指针类型转换。

int *a;
a = (int*)malloc(sizeof(int));

如果是你说的是以函数指针当做参数的,void*说明这个参数可以接受不同类型的函数。

回答2:

没有这种规定吧,也是int,float都能用啊。比如下面的程序
#include
#include
using namespace std;

int test(int a);

void main(int argc,char* argv[])
{
int (*fp)(int a);
fp=test;
cout< cin.get();
}

int test(int a)
{
return a;
}

回答3:

没有返回值当然就是void了
要是有返回值得话还是有int float什么得.
这一点上两个是一样得.
只不过c++前面还有public 或者private.

回答4:

不是很清楚“指针的调用函数”是什么意思!是函数指针嘛??还是包含指针的函数??
不过这两种都没有你说的限制!void只是看函数的返回值类型定啊