冲突类型在C
问题描述:
这里的函数是错误消息:冲突类型在C
replace2.c:41:警告:冲突的类型 '替换'
replace2.c:27:注:先前的隐式的声明'替换' 是 这里
这里是我的功能:
void replace (int *a1, int *a2, int n)
{
int *p;
int *p2;
int sum = 0;
for (p = a1, p2 = a2; p < a1 + n; p++, p2++)
{
sum = (6 + *p) % 10;
*p2 = sum;
}
}
这里是我打电话:
请注意在调用函数之前,会扫描int_lenght(输入由用户给出)。
int int_lenght;
array[int_lenght];
arrayb[int_lenght];
replace(array, arrayb, int_lenght);
答
问题可能是replace
在使用前未被声明。与此类似,
void replace(int*, int*, int);
+0
几乎肯定,这不是问题。我之前使用过它们,没有声明它们,它的工作原理是,我的代码的第一部分应该是函数的声明。 “我想” –
+0
'我以前用过它们而没有声明它们,它确实有效,但是你是否已经将函数放在其调用语句的上面或下面? –
答
你替换功能正在2指针值和一个整数值,但您正在发送两个阵列,而不是整数的
int int_lenght;
array[int_lenght];
arrayb[int_lenght];
replace(array[int_lenght], arrayb[int_lenght], int_lenght);
希望它可以帮助你。
什么是确切的错误信息?你打电话给你之前是否有范围函数的原型? –
请注意,“长度”的正常拼写在h之前有t。 –
对不起应该补充说:replace2.c:41:警告:'替换'的冲突类型 replace2.c:27:注意:'以前的'隐式声明'替换'在这里 –