我有两个字符串数组“Array1 [size]”和“Array2 [size]”。它们都有相同的尺寸。 我想编写一个包含这两个数组的函数,但是我在声明它们的方式上遇到了问题。
我宣布这样:void Thefunction (string& Array1[], string& Array2[], int size);
当我打电话给它时,我称之为:Thefunction (Array1, Array2, size);
我做错了什么?
谢谢。
答案 0 :(得分:12)
您正在声明一个带有字符串引用数组的函数。你几乎肯定想要获取字符串数组。
像这样:
void TheFunction(string Array1[], string Array2[], int size);
答案 1 :(得分:4)
void TheFunction(string* Array1,string* Array2,int size) { ... }
Arrays 自动衰减指针。
答案 2 :(得分:2)
你可以这样做:
template <std::size_t size>
void TheFunction(string (&Array1)[size], string (&Array2)[size]);