这对于c ++来说是非常新的,我试图通过引用函数来传递结构类型的2D数组。据我所知,他们会自动通过引用传递。这是我的代码。问题可能很明显,但我无法弄明白。编译器一直说变量或字段“function”声明为void,而bArray未在此范围内声明。
void function(balloons bArray[][5]);
int main()
{
struct balloons
{
float totalWeight;
float largestBalloon;
};
balloons balloonsArray[20][5];
function(balloonsArray);
}
void function(balloons bArray[][5])
{
bArray[1][1].totalWeight = 1.0
bArray[1][1].largestBalloon = 1.0
}
答案 0 :(得分:1)
您在struct
内定义了main
,代码的其他部分也需要使用它。将定义移到函数外部:
struct balloons
{
float totalWeight;
float largestBalloon;
};
void function(balloons bArray[][5]);
int main()
{
// ...
你还没有在你的函数中终止这两个语句,那里你需要分号:
bArray[1][1].totalWeight = 1.0;
bArray[1][1].largestBalloon = 1.0;