1
我在int *
变量传递到其被定义为func(int var[])
的函数,编译器抱怨,传递参数从兼容的指针类型。有什么区别,或者根本没有区别?
我在int *
变量传递到其被定义为func(int var[])
的函数,编译器抱怨,传递参数从兼容的指针类型。有什么区别,或者根本没有区别?
函数声明R foo(T[])
和R foo(T *)
对所有类型T
都是相同的。
你的错误在别的地方。
(可以调用foo
与任一个指向T
或与阵列OF- T
S的名称,因为后者在呼叫期间衰减到适当的指针。)
示例:
void foo(int *);
void bar(int[]);
void example(int * a)
{
int n = 10;
int p[] = { 1, 2, 3 };
foo(a); bar(a);
foo(p); bar(p); // all those are OK
foo(&n); bar(&n);
}
请显示代码。 –