深圳市法制办电话:C++指针问题...为什么调用函数中要用void?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 03:36:46
初学指针...发现指针的调用函数前都加了个void ***( *,*),以前调用函数时用的int ,或float都有,而现在指针用的都是void了,为什么?

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

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

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

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

int test(int a);

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

int test(int a)
{
return a;
}

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

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