我正在尝试将2d和单个dimmension字符串数组传递给函数,但它无法正常工作。
我的数组是:
string 2Darray[100][100];
String 1Darray[100];
现在功能:
void check(string temp2D[100][100], string temp1D[100]);
我打电话的时候:
check(2Darray,1Darray);
我已经尝试过其他方式广告他们都不行。 提前感谢您的任何答案!
答案 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);
}