C++将数组传递给函数,然后将其传递给另一个函数

C++ Passing Array to Function and Then Passing It to Another Function

本文关键字:函数 另一个 然后 C++ 数组      更新时间:2023-10-16

我尝试使用来自 main 函数的数组,该数组传递到一个函数和另一个函数中。以下是我正在尝试执行的操作的简化版本。

我不能把func2()放在主函数中,因为我正在做的代码要求我在void func()中做一些事情,然后应用于void func2()

#include <iostream>
using namespace std;
void func(char arr[2])
{
    func2(arr);
}
void func2(char arr[2])
{
    cout << arr[0] << arr[1];
}
int main()
{
    char arr[2] = {1,2};
    func(arr);
}

编辑:似乎问题出在函数的顺序上,而不是我最初认为的数组有问题。

#include <iostream>
using namespace std;
void func2(char arr[2])
{
    cout << arr[0] << arr[1];
}
void func(char arr[2])
{
    func2(arr);
}
int main()
{
     char arr[2] = {1,2};
     func(arr);
}

尝试交换你的函数:

#include <iostream>
using namespace std;
void func2(char arr[2])
{
    cout << arr[0] << arr[1];
}
void func(char arr[2])
{
    func2(arr);
}

int main()
{
    char arr[2] = {1,2};
    func(arr);
}

问题是你引用的func2 func一无所知。

此外,尝试使用指针,而不是将整个数组复制到函数中。它的效率要高得多。