函数指针和函数参数的有关问题
函数指针和函数参数的问题typedef void (*转换)(int,int)void func1(int p){printf(%d\n,p)}void run(
函数指针和函数参数的问题
typedef void (*转换)(int,int);
void func1(int p)
{
printf("%d\n",p);
}
void run( void (*f)(int,int) )
{
f(3,5);
}
int main(int argc,char **argv)
{
run( (转换)func1 );
return 0;
}
回调func1的时候参数丢了个5这个参数,会不会导致问题,安全否,
void func1(int p)和void run( void (*f)(int,int) )
不变的情况下,怎么改比较安全
[解决办法]的确没有见过这种有中文字符还能编译通过,我改成英文名字后的确可以编译通过,并输出3.
这种转换应该是安全的吧,我之前也没遇到过这种转换的。
[解决办法]http://bbs.csdn.net/topics/390338774
[解决办法]这样写没问题的吧、类型一下代码:
int show(int a,int b)
{
}
int show(int a); //并不实现,他会是以上函数的另一种调用方式
使用的时候可以随便传入几个参数啊:以上是C语言的实现此功能的方式
在C++ 中可以直接 int show(int a = 0,int b = 0)
{
}//这样调用的时候随便传参数(0,1,2)都可以的!
[解决办法]明显你想多了。