私はc ++を学んでいますが、この質問があります。
ループと if else ステートメントを含む file01.cpp があります。
例えば
File01.cpp には
If(x<0)
cout<<x<<endl;
else
GOTO file02.cpp line number 29;
これは私がやりたいことの大まかな考えです。これを行う方法がわかりません。できれば GOTO ステートメントを使用したくありません。
私はc ++を学んでいますが、この質問があります。
ループと if else ステートメントを含む file01.cpp があります。
例えば
File01.cpp には
If(x<0)
cout<<x<<endl;
else
GOTO file02.cpp line number 29;
これは私がやりたいことの大まかな考えです。これを行う方法がわかりません。できれば GOTO ステートメントを使用したくありません。
GOTO ステートメントと同じように機能するには、どの関数を使用すればよいですか?
すべきではありません。回避のポイントはgoto
、それが生成するスパゲッティ コードのようなものを避けることであり、文字通りの単語を避けることではありませんgoto
。を他の関数に置き換えるとgoto
、要点を完全に見逃してしまいます。プログラムを再構築し、行番号ではなく関数を呼び出す必要があります。
実際に尋ねた質問に答えるために、のgoto
ような動作に使用する必要があるのは goto
; goto
のように振る舞う「関数」はありませんgoto
。しかし、もっと重要な答えは、あなたがしていることをするのではなく、プログラムがどのように構成されているかを再考することです.
関数に呼び出したいコードを取り出し(file02.cpp line number 29)
、file01.cpp と file02.cpp の 29 行目からその関数を呼び出したいとします。
これは、c++ または c プログラムを構築する方法ではありません。代わりに、機能的なアプローチを使用します。(私はプロシージャルを意味します)
これは、ヘッダー ファイル内に関数があり、その関数を呼び出すことを意味します。そうじゃないgoto
。