C++ 类型为“的参数”;int";与类型为“的参数不兼容”;int";
对编程非常陌生,作为教程被要求在程序代码中查找错误。在试图修复它的过程中,我一直在为标记为传递单个元素的行获取“类型为'int'的参数与类型为'int'的参数不兼容”的行。还没有学习指针,也不了解函数是如何工作的,所以其他地方可能会有错误C++ 类型为“的参数”;int";与类型为“的参数不兼容”;int";,c++,C++,对编程非常陌生,作为教程被要求在程序代码中查找错误。在试图修复它的过程中,我一直在为标记为传递单个元素的行获取“类型为'int'的参数与类型为'int'的参数不兼容”的行。还没有学习指针,也不了解函数是如何工作的,所以其他地方可能会有错误 #include <iostream> using namespace std; void functionA ( int num[] ) ; void functionB ( int newnumbers[] ) ; void function
#include <iostream>
using namespace std;
void functionA ( int num[] ) ;
void functionB ( int newnumbers[] ) ;
void functionC ( int newnumbers[] ) ;
void main ()
{
int numbers[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } ;
int i;
for ( i=0; i<10; i++ )
functionA ( numbers[i] ) ; // passing individual elements
cout << "\n\n" ;
functionB ( numbers ) ; // passing the whole array
functionC ( numbers ) ; // passing the whole array
cout << "\n\n" ;
}
void functionA ( int num[] )
{
cout << num << " " ;
}
void functionB ( int newnumbers[] )
{
for ( int i=0; i<10; i++ )
newnumbers[i] = newnumbers[i] * 5 ;
}
void functionC ( int newnumbers[] )
{
for ( int i=0; i<10; i++ )
cout << newnumbers[i] << " " ;
}
#包括
使用名称空间std;
无效函数(int num[]);
void函数b(int newnumbers[]);
void函数c(int newnumbers[]);
空干管()
{
整数[10]={1,2,3,4,5,6,7,8,9,10};
int i;
对于(i=0;i您正在传递numbers[i]
,这是一个int
值,而您的函数参数需要一个int
数组
将函数定义更改为justvoid function(int num)
,您应该能够输出传递的int
元素
希望这能帮助您看到int
和int[]
之间的区别
void functionA ( int num[] )
{
cout << num << " " ;
}
还要注意,您将main
声明为void main()
,但需要声明为返回int
for ( i=0; i<10; i++ )
functionA ( numbers[i] ) ;
functionA需要一个整数数组作为输入。您正在传递一个整数,因此它失败
我怀疑您的编译器错误不是“int与int不兼容”,而是“int与int*不兼容”。*很重要,因为它指定了指针
根据您试图执行的操作,您必须更改functa以获取int,而不是int[](在这种情况下,它会打印传递给它的数字),或者将“numbers”而不是“numbers[i]”传递给它,并更改functa以迭代数组(例如,使用for循环).你说得对,我错过了最后一行的*号。谢谢!
for ( i=0; i<10; i++ )
functionA ( numbers[i] ) ;
void functionA ( int num[] )