-1

所以我对c++很陌生,我试图通过引用一个函数来传递一个结构类型的二维数组。据我所知,它们是通过引用自动传递的。这是我的代码。问题可能很明显,但我无法弄清楚。编译器一直说变量或字段“函数”声明为 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
}
4

1 回答 1

1

您正在定义您的structinside 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;
于 2012-09-28T20:10:54.987 回答