1

文字列の2次元および単一次元配列を関数に渡そうとしていますが、機能しません。

私の配列は次のとおりです。

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

今関数:

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

私がそれを呼ぶとき:

    check(2Darray,1Darray);

私は他の方法でそれを試しましたが、それらはすべて機能しません。回答ありがとうございます!

4

1 に答える 1

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);
}
于 2013-03-12T03:29:00.847 に答える