将二维数组的字符串传递给c ++中的函数

时间:2013-03-12 03:21:03

标签: c++ c string multidimensional-array

我正在尝试将2d和单个dimmension字符串数组传递给函数,但它无法正常工作。

我的数组是:

    string 2Darray[100][100];
    String 1Darray[100];

现在功能:

    void check(string temp2D[100][100], string temp1D[100]);

我打电话的时候:

    check(2Darray,1Darray);

我已经尝试过其他方式广告他们都不行。 提前感谢您的任何答案!

1 个答案:

答案 0 :(得分:3)

您可以更改为接受参考:

void check(string (&temp2D)[100][100], string (&temp1D)[100]);

或指针:

void check(std::string temp2D[][100], std::string temp1D[]){}

与以下不同的语法相同:

void check(std::string (*temp2D)[100], std::string* temp1D){}

此外,您无法使用数字启动变量名称,2Darray等是编译器错误。

以下是一个完整的工作示例:

#include <string>

void check(std::string (&temp2D)[100][100], std::string (&temp1D)[100]){}

int main()
{
    std::string twoDarray[100][100];
    std::string oneDarray[100];
    check(twoDarray,oneDarray);
}