-5

私はc ++を学んでいますが、この質問があります。

ループと if else ステートメントを含む file01.cpp があります。

例えば

File01.cpp には

If(x<0)
cout<<x<<endl;
else
GOTO file02.cpp line number 29;

これは私がやりたいことの大まかな考えです。これを行う方法がわかりません。できれば GOTO ステートメントを使用したくありません。

4

3 に答える 3

6

GOTO ステートメントと同じように機能するには、どの関数を使用すればよいですか?

すべきではありません。回避のポイントはgoto、それが生成するスパゲッティ コードのようなものを避けることであり、文字通りの単語を避けることではありませんgoto。を他の関数に置き換えるとgoto、要点を完全に見逃してしまいます。プログラムを再構築し、行番号ではなく関数を呼び出す必要があります。

実際に尋ねた質問に答えるために、のgotoような動作に使用する必要があるの goto; gotoのように振る舞う「関数」はありませんgoto。しかし、もっと重要な答えは、あなたがしていることをするのではなく、プログラムがどのように構成されているかを再考することです.

于 2013-08-27T16:03:10.990 に答える
2

関数に呼び出したいコードを取り出し(file02.cpp line number 29)、file01.cpp と file02.cpp の 29 行目からその関数を呼び出したいとします。

于 2013-08-27T16:03:46.427 に答える
1

これは、c++ または c プログラムを構築する方法ではありません。代わりに、機能的なアプローチを使用します。(私はプロシージャルを意味します)

これは、ヘッダー ファイル内に関数があり、その関数を呼び出すことを意味します。そうじゃないgoto

于 2013-08-27T16:02:20.680 に答える