【发布时间】:2013-03-15 14:35:38
【问题描述】:
在传递二维数组时,我们必须指定列。 例如:
void funtion1(a[])// works
{
}
void function2(a[][4])//works
{
}
void function3(a[][])//doesn't work
{
}
function3 被视为错误定义的可能原因是什么。
是否有不同的方法来定义function3,以便我们可以将行和列都留空。
阅读一些回复:
你能解释一下x[n] 和x[] 有什么不同吗?我猜前者代表一个特定的数组位置,后者是未指定的数组。更多解释将不胜感激。
【问题讨论】:
-
是的,它叫
std::vector。 -
你为什么要传递数据?
-
boost::multi_array可能也适合您。 -
x[]和x[n]在 C 中是根本不同的东西。解释为什么不是一个问题的主题,而是一本关于 C 的好书中的一章。在 C++ 中,两者都是高级主题,应该隐藏在库代码深处。 -
如果您查看this question,几乎曾经 可以回答有关 C 或 C++ 中基本数组的问题。我建议你这样做。不久前,我几乎回答了这个same question,以防你从第一个答案中没有得到足够的轰炸。