-1

SO im c++ はかなり新しく、関数への参照によって構造体型の 2D 配列を渡そうとしています。私の知る限り、それらは自動的に参照渡しされます。これが私のコードです。問題はおそらく明らかですが、わかりません。コンパイラは、変数またはフィールド「関数」が 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

structwithinを定義していますmainが、コードの他の部分でもそれを使用する必要があります。定義を関数の外に移動します。

struct balloons
{
       float totalWeight;
    float largestBalloon;
};

void function(balloons bArray[][5]);

int main()
{
    // ...

また、関数内の 2 つのステートメントを終了していないため、セミコロンが必要です。

bArray[1][1].totalWeight = 1.0;
bArray[1][1].largestBalloon = 1.0;
于 2012-09-28T20:10:54.987 に答える