使用权的的std ::阵列我有这个二维数组:array <array <int , 4> , 4> myarray
如何声明和在C++
如何声明是正确的程序?
//I first include
#include <array>
然后我初始化
array<array<int,4>,4> myarray = {{
{1, 2, 3, 4},
{5, 6, 0, 8},
{9, 10, 11, 12},
{13, 14, 15, 7}
}};
我宣布我的功能:
void func1(array<array<int,4>,4>);
void func2();
void func3(int&, int&, array<array<int,4>,4>);
void func4(array<array<int,4>,4>);
void func5(array<array<int,4>,4>);
void func6(array<array<int,4>,4>);
写一个主要功能:
int main() {
func1(myarray);
func2();
func3(myarray);
func4(myarray);
func5(myarray);
func6(myarray);
return EXIT_SUCCESS;
}
然后我写的功能
void func1(array<array<int,4>,4> myarray)
{//something
}
void func2();
{//something
}
void func3(int&, int&, array<array<int,4>,4> myarray);
{//something
}
void func4(array<array<int,4>,4> myarray);
{//something
}
void func5(array<array<int,4>,4> myarray);
{//something
}
void func6(array<array<int,4>,4> myarray);
{//something
}
上午我什么地方错了?
的一点是,该初始化数组:{1, 2, 3, 4}, {5, 6, 0, 8}, {9, 10, 11, 12}, {13, 14, 15, 7}
将在第一输入FUNC。第一个func的输出将是不同的4x4阵列,例如{15, 14, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {2, 1, 4, 13}
。这个不同的数组将被放在第二个输入。这个func的输出将是不同的东西等,等等......
问题我有,是大多数函数的输出是初始化数组。
感谢您的帮助提前。
这些函数都没有返回任何东西,或者修改'myarray',因为它们都是自己的副本。你的意思是通过参考吗? '&myarray'? –
为什么你专注于询问数组的声明*?如果这个声明有问题,编译器会告诉你,你根本就没有想到运行你的程序。请始终描述问题的*症状*,而不是*诊断*。在这种情况下,症状是将函数应用于变量,但其值不变。让*这是你问题的主要话题。 –