タグ付けされた質問 「circular-dependency」

15
ImportError:名前Xをインポートできません
メイン、ベクター、エンティティ、物理学という4つの異なるファイルがあります。私はそれがエラーがあるところだと思うので、私はすべてのコードを投稿するのではなく、インポートだけをします。(必要に応じて、さらに投稿できます) メイン: import time from entity import Ent from vector import Vect #the rest just creates an entity and prints the result of movement エンティティ: from vector import Vect from physics import Physics class Ent: #holds vector information and id def tick(self, dt): #this is where physics changes the velocity …

11
クラス間の循環依存によるビルドエラーを解決する
異なるヘッダーファイル内のC ++クラス間の循環依存関係につながるいくつかの悪い設計決定(他の人が行った:)が原因で、C ++プロジェクトで複数のコンパイル/リンカーエラーに直面している状況によく気づきます(発生する可能性もあります)同じファイル内)。しかし、幸いにも(?)この問題は頻繁には起こらないため、次回この問題が再び発生するときのために、この問題の解決策を思い出すことはできません。 したがって、将来のリコールを容易にするために、代表的な問題とその解決策を掲載します。より良い解決策はもちろん大歓迎です。 A.h class B; class A { int _val; B *_b; public: A(int val) :_val(val) { } void SetB(B *b) { _b = b; _b->Print(); // COMPILER ERROR: C2027: use of undefined type 'B' } void Print() { cout<<"Type:A val="<<_val<<endl; } }; B.h #include "A.h" class B …


7
Python循環インポート?
だから私はこのエラーを得ています Traceback (most recent call last): File "/Users/alex/dev/runswift/utils/sim2014/simulator.py", line 3, in <module> from world import World File "/Users/alex/dev/runswift/utils/sim2014/world.py", line 2, in <module> from entities.field import Field File "/Users/alex/dev/runswift/utils/sim2014/entities/field.py", line 2, in <module> from entities.goal import Goal File "/Users/alex/dev/runswift/utils/sim2014/entities/goal.py", line 2, in <module> from entities.post import Post File "/Users/alex/dev/runswift/utils/sim2014/entities/post.py", line 4, …

3
現在のテンプレートをテンプレートパラメータの1つに対するテンプレートパラメータとして使用する
一般的なグラフ構造を作成しようとしていますが、頂点とエッジの間の循環依存関係に遭遇しています。私はVertexクラスとEdgeクラスを次のように定義します。 template<typename EdgeType> struct Vertex { std::vector<EdgeType> successors; }; template<typename EdgeCostType, typename VertexWrapper> struct Edge { EdgeCostType cost; VertexWrapper source; VertexWrapper dest; }; のようなものでインスタンス化したいのですがVertex<Edge<int, std::shared_ptr<decltype(v)>>> v;、明らかにできません。この循環依存関係を解決するにはどうすればよいですか? 編集: この問題の要約は、現在のテンプレートを現在のテンプレートのテンプレートパラメータの1つに対するテンプレートパラメータとして使用することです。 template<typename VertexWrapper> struct Vertex { std::vector<pair<int, VertexWrapper<Vertex>>> successors; };
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.