6

私はすべての関数の外でこのコードを書きました:

int l, k;
for (l = 1; l <= node; l++)
{
    for (k = 1; k <= node; k++)
    {
        flow[i][j] = capacity[i][j];
        flow[j][i] = 0;
     }
}

コンパイル時に次のエラーが発生します。

shalini@shalini-desktop:~$ g++ -o output fords.cpp
fords.cpp:63: error: expected unqualified-id before ‘for’
fords.cpp:63: error: expected constructor, destructor, or type conversion before ‘&lt;=’ token
fords.cpp:63: error: expected constructor, destructor, or type conversion before ‘++’ tok
4

3 に答える 3

17

関数の外でコードを書くことはできません。関数の外で持つことができるのは、グローバル変数宣言(通常は悪い考え)、関数宣言などの宣言だけです。次のような関数に入れてみてください。int main(){}

于 2012-07-03T14:48:54.467 に答える
1

関数は、命令ポインターがコードに到達して実行できるようにコードを編成します。

コンパイラーが関数の外でコードを書くことを許可するなら、それは決して実行されないでしょう。

コードを関数本体に配置します。

C ++では、コード自体が関数本体の外部に記述されている1つのケース(マクロ宣言)が許可されていますが、実行するには、マクロを関数本体で使用する必要があります。

于 2012-07-03T14:50:08.763 に答える
0

グローバルクラス変数を宣言することにより、main()を実行する前にコードを実行できます。コードをクラスコンストラクターに配置します。

于 2013-12-15T09:21:50.607 に答える