“int”类型的参数与“int”类型的参数不兼容

新手上路,请多包涵

对编程非常陌生,并被要求在程序代码中查找错误作为教程。在尝试修复它时,对于标记为传递单个元素的行,我不断收到“’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] << " " ;
}

原文由 Teh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 438
1 个回答

您正在传递 numbers[i] 这是一个 int 值,而您的函数参数需要一个 int 数组。

将函数定义更改为 void functionA ( int num ) 并且您应该能够输出您传递的 int 元素。

希望这可以帮助您了解 intint [] 之间的区别。

原文由 Stuti Rastogi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题