c++ - 将空数组传递给函数、在该函数中输入值并返回值的示例

标签 c++ arrays function

我应该在主函数中创建一个空数组,然后使用两个单独的函数来 1. 接受输入到数组中,然后 2. 显示数组的值。

这是我想出的,我遇到了从“int”到“int*”的无效转换 [-fpermissive] 的转换错误。但是,我们的类(class)要到两周后才能接触到指针,而这将在下周到期,所以我假设我们还没有开始使用指针。

#include <iostream>
#include <iomanip>
using namespace std;

int inputFoodAmounts(int[]);
int foodFunction(int[]);


int main()
{

    int num[7];

    cout << "Enter pounds of food";
    inputFoodAmounts(num[7]);
    foodFunction(num[7]);

    return 0;

}

int inputFoodAmounts(int num[]) 
{
    for (int i = 1; i < 7; i++)
    {
        cout << "Enter pounds of food";
        cin >> num[i];
    }
}

int foodFunction(int num[])
{
    for (int j = 1; j < 7; j++)
    {   

        cout << num[j];
    }
    return 0;
}

最佳答案

你应该通过 num功能; num[7]表示数组的第 8 个元素(并且它超出了数组的范围)但不是数组本身。改成

inputFoodAmounts(num);
foodFunction(num);

顺便说一句:for (int i = 1; i < 7; i++)看起来很奇怪,因为它只将数组从第 2 个元素迭代到第 7 个元素。

关于c++ - 将空数组传递给函数、在该函数中输入值并返回值的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46801712/

相关文章:

c++ - 如何在 C/C++ 中关闭特定客户端的套接字?

javascript - 如何将动态值传递给字节数组

javascript - 在迭代两个嵌套循环时提高性能

c++ - 打印函数的地址...声明?

C++删除c字符串数组/其他类型的数组

c++ - C++ 容器的迭代器失效规则

javascript - 使 onclick 与数组一起使用

php - 如何在 PHP 中将数据从主数组传递到多个数组

Javascript 答案未定义

mysql - 带有表字段的过程调用函数