問題タブ [cyclic-reference]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
887 参照

c++ - C++ インクルード ヘッダーによる循環参照を回避する

A、B、C の 3 つのクラスがあります。C は#includeB によって編集され、B は#includA によって編集されます。クラス C では、ボタンのハンドラーを定義し、ボタンが押されると、C はPostMessageオブジェクト Aに移動します。 C に A を含めると、循環参照が発生するため、この循環参照を回避するにはどうすればよいですか?

編集: すべてのインクルードは実装ファイルで作成されます。

0 投票する
0 に答える
156 参照

c# - 循環参照チェーンを使用したオブジェクトの複製

グラフ自体を変更する、メモリ内のグラフでいくつかの操作を実行しています。これらの操作を何回か繰り返す必要があり、その後の繰り返しはグラフの新しいコピーで機能する必要があります。グラフはファイルを解析することによって生成されるため、繰り返しごとにファイルを再解析するのに時間を費やしたくないので、元のグラフのクローンを作成する道をたどりました。

nodeedgeおよびタイプgraphはすべて を実装ICloneableしていますが、循環参照チェーンに問題があります。

NodeEdgeそこからの指示された のリストを保存します。Edge重みとNodeそれが指している を保存します。2 つのノードが双方向のエッジを共有しているStackOverflowException場合、いずれかのノードのクローンを作成しようとするとエラーが発生します。これは、いずれかのノードのエッジのリストをクローンすることは、常に他方のノードをクローンすることを意味するためです。

クローニングの目的でこの循環参照を解決するための最良のアプローチは何でしょうか?

0 投票する
2 に答える
1336 参照

haskell - Haskell の循環依存関係を持つデータ構造

parsecライブラリを使用して(学習目的で)haskellに単純なパーサーを実装しようとしています。そこで、次のような一連のデータ構造と関連する関数を作成しました。

それは正常に動作します。ここで、これを 2 つのモジュールに分割して、データ構造を分離したいと考えていますFunctionBody(Statement読みやすさの問題のため)。しかし、私はできません!その理由は、SourceElementとの間の循環依存FunctionBodyです。

それで、この問題を解決する方法はありますか?

0 投票する
4 に答える
332 参照

c# - C#のクラスに循環レイアウトの問題がないのはなぜですか?

原因:

タイプ「Unit」の構造体メンバー「Unit.u」により、構造体レイアウトにサイクルが発生します。

だが

コンパイルします。私は私が推測する問題を理解しています。Unitオブジェクトを参照すると、別のメンバーなどを初期化する必要があるため、無限のサイクルが形成さUnitれます。しかし、なぜコンパイラは問題を制限するのstructsですか?問題は長続きしclassませんか?私は何かが足りないのですか?

0 投票する
1 に答える
78 参照

iphone - Objective Cで循環呼び出しを回避するには?

私の質問には、タイトル自体で十分だと思います。ただし、ここでさらに説明します。2 つのビュー コントローラー A と B があるとします。A はベースであり、B をプッシュしています。ある状況では、ビュー (B) で 1 つのボタンがクリックされたときに A が B から親密になるようにします。私がそのインスタンスを持っている場合、Objective Cは直接Aビューを呼び出すことを許可しています。それを行うのは良い習慣ではないと思います。このケースはどのように処理されるべきか..

あなたの提案に感謝します。

0 投票する
1 に答える
457 参照

c# - 「自己作成」プロパティを持つオブジェクトのカスタム JSON シリアル化が無限ループで終了する

私が取り組んでいるプロジェクト(C#)では、シリアライズされたオブジェクトのメソッドも含むJSON表現を使用する必要があります。これが、独自のシリアライザーを実装する必要がある理由です。シリアライザーは、リフレクションを使用して非常に簡単に実装されます。私の問題は、元のオブジェクトと同じタイプの「自己作成」プロパティを持つオブジェクトも処理できる必要があることです。

例:

Properties を反復処理するたびに、新しいオブジェクト ( a ) が作成されます。このようにして、Serializer は無限再帰になります。

これを回避する方法はありますか?任意の提案をいただければ幸いです。

0 投票する
3 に答える
21614 参照

c++ - C++ エラー: '構造体の前方宣言...?

循環的包含問題

循環的な包含を解決するために、クラスの 1 つを他のクラスのヘッダーで前方宣言します。ここに私の2つのファイルがあります:

最初のファイル ( Parameter.h ):

2 番目のファイル ( Expression.h ):

ご覧のとおり、Parameter.h で Expression を前方宣言していますが、まだ次の 2 つのエラーが発生しています。

「構造式」の前方宣言

不完全なタイプ 'struct Expression' の無効な使用

以前に投稿されたいくつかの質問を見ましたが、それでもこの問題を解決できませんでした。ありがとう。

0 投票する
2 に答える
180 参照

c++ - 循環テンプレート参照構造

循環テンプレート参照について問題があります。次のように、クラス ノードとクラス エッジを使用してツリーを作成します。

グラフクラスを宣言できないことがわかりましたex:

クラスの構造を再定義するにはどうすればよいですか?

0 投票する
4 に答える
182 参照

c++ - deque クラスとツリー クラスの間の循環参照エラーを解決しようとしています

ここで発生している循環参照エラーを解決するのを手伝ってくれる人はいますか?

のメソッドでdeque使用される独自のクラスを作成しました。breadthFirstFibTree

以下は、個別のヘッダー ファイルと CPP ファイルのハイライトです。不完全な型の無効な使用とファイルの前方宣言エラーに関する問題がありFibTreeます。以下のコード行でこれらのエラーをマークしました。

deque.h

fibtree.h

fibtree.cpp

main.cpp

同様の投稿HEREを読んで、私の場合は完全な宣言を含める必要があると読んだので、fibtree.hの前方宣言の上dequeListに追加しました。しかし、これにより、次の 3 つのエラーのような16 のコンパイル エラーがクラスにスローされました。#include "deque.h"class deque.h"deque.hFibTree::Node* data; in

ここで私が間違っている可能性がある場所を誰かが強調できますか?

ありがとう、アレックス