编程新手,被要求在教程中查找程序代码中的错误。在尝试修复它时,我一直在为标记为传递单个元素的行获取行“'int'类型的参数与'int'类型的参数不兼容”。没有学过指针,也没有真正理解函数是如何工作的,所以可能其他地方有错误。
#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] << " " ;
}
最佳答案
您正在传递 numbers[i]
,这是一个 int
值,而您的函数参数需要一个 int
数组。
将函数定义更改为 void functionA ( int num )
,您应该能够输出您传递的 int
元素。
希望这可以帮助您了解 int
和 int []
之间的区别。
关于c++ - "int"类型的参数与 "int"类型的参数不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43915621/