【发布时间】:2021-03-17 18:52:12
【问题描述】:
我是 C++ 初学者
我一直在尝试制作一个打印出二维数组中所有元素的函数,但我无法完成这项工作,我需要一些帮助。
在我看来,我的 printArray 函数不能将二维数组作为有效的输入数据。 谁能给我一个建议?另外,是否有更好的方法来构建多维字符串数组而不使用 std::string?
感谢您的帮助!
int main ()
{
std::string faces[5] = { "Pig", "sex", "John", "Marie", "Errol"};
printArray(faces);
std::string TwoD[2][2] = {{ "Aces", "Deuces"}, { "Hearts", "Diamonds"}};
//print2DArray(TwoD);
std::cin.get();
}
void print2DArray(std::string x[])
{
for(int i = 0; i < 2; i++)
for(int j = 0; j < 2; j++)
{
std::cout << x[i][j] << std::endl;
}
}
【问题讨论】:
-
无论何时使用 POA(普通旧数组),您都需要将数组中的元素数量作为参数与指针(或 C++ 中的引用)一起传递,以便函数知道有多少元素有。而是建议使用
std::vector<std::string>,这样您就可以传递对向量的引用并使用.size()成员函数来确定向量中字符串(元素)的数量。 -
公平重复,但请参阅 Legends2k 的答案(其他一些答案完全值得怀疑)
-
@DavidC.Rankin 是的,它可能需要一个现代的答案。可能值得添加一个,甚至是悬赏。