如何在c ++中将两个数组转换为函数?

时间:2009-11-05 20:28:20

标签: c++ arrays function string

我有两个字符串数组“Array1 [size]”和“Array2 [size]”。它们都有相同的尺寸。 我想编写一个包含这两个数组的函数,但是我在声明它们的方式上遇到了问题。

我宣布这样:void Thefunction (string& Array1[], string& Array2[], int size);

当我打电话给它时,我称之为:Thefunction (Array1, Array2, size);

我做错了什么?

谢谢。

3 个答案:

答案 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]);