2016-11-30 20 views
-3

C++で2つ以上の再帰関数が並列にありますか?

int a() { 
    return b(); 
} 

int b() { 
    return a(); 
} 

のようになめらかに行うための方法はありますか?

例えば、それはOCamlの中で可能です:

+1

非常にシンプルですが、それはあなたのスタックがオーバーフローします。なぜあなたはこれをしたいのですか? –

+0

いいえ、私は私が示した方法ではないことを意味しました。 OCamlのような並列再帰を行う方法はありません – nag

+0

並列再帰の意味を説明できますか?私はOCamlと "parallel recursion ocaml"が関連する結果をもたらさないことは知らない。 –

答えて

2

はい、それはあなたができる

int b(); 

int a() { 
    return b(); 
} 

int b() { 
    return a(); 
} 
+0

ここでは前方宣言が必要ですが、ヘッダーは必要ありません。 2つは直交しており、後者を持ち上げるだけでIMOのことが混乱します。 – ildjarn

+0

ヘッダーは前方宣言に重く結びついています – Caleth

+2

'a'と' b'が同じソースファイルで定義され、そのソースファイルでのみ使用されている場合、それらを上記のソースファイルで前方宣言します。ヘッダーはまったく無関係です。 – ildjarn

関連する問題