私はJavaで、次のコードを書きました"エラー:フィールド '左'に不完全な型 'ノード'があります。 誰もこのことが起こっていることを説明できますか?このエラーを削除するにはどうすればよいですか?私はこれら2つの言語がどのようにこれを実装しているのか知りたい。違い、Javaのクラスとオブジェクトの実装ではとC++
-5
A
答えて
6
Javaでは、オブジェクト型の変数を宣言すると、実際にオブジェクトに対してという参照番号として宣言されます。 C++では
node left;
として宣言されたオブジェクトは、left
がnode
クラスの実際のインスタンスであると述べています。また、インスタンスを定義できるようにするには、クラスの完全な定義が必要です。
クラス内で、メンバー変数と関数を宣言すると、クラスは実際にはまだ完全に定義されていませんが、終了するまでは発生しません。}
。
1をする必要がある場合
node* left;
にポインタが最も一般的である、
node& left;
または使用のポインタのように、あなたが&
文字を使用する必要が参照する変数を宣言するには参照へのセマンティクスは初期化されると参照を別のオブジェクトを参照するように変更することができないためです。
これはすべて、in any good beginners C++ bookである必要があります。これは1つを見つけて読むことをお勧めします。
関連する問題
- 1. C++クラス・ポインタとクラス・オブジェクトの間の違いは何ですか?
- 2. C#インターフェイスの暗黙実装と明示実装の違い
- 3. c#とphpの抽象クラスの実装の相違
- 4. C#のオブジェクトとクラスの違いは何ですか?
- 5. インタフェースと純粋な抽象クラスのJVM実装の違いは?
- 6. Java BeanとJavaクラスの違いは?
- 7. 違い、C++、C#とJavaは
- 8. CとC#の実装のAES/CBC暗号化の違い
- 9. PHPのオブジェクトとクラスの違いは?
- 10. C++クラスのヘッダーと実装エラー
- 11. C++本とクラス間のクラスの違い::
- 12. シリアライゼーション - C++とJavaの違い
- 13. XMLドキュメントインターフェイスの実装とクラスの実装
- 14. C++とjavaScriptの多態性の実装の違い
- 15. ObjectとValueTypeクラスで実装されたGetHashCodeの違いは何ですか?
- 16. C++/CLIリファレンスクラスとC#クラスの違い
- 17. データウェアハウスとデータベースの実装の違い
- 18. C#のPingクラスとWebClientクラスの違いは何ですか?
- 19. JavaインターフェイスとObjective-Cプロトコルの違いは?
- 20. クラスfoo、クラスfoo()とクラスfoo(オブジェクト)の違いは?
- 21. Java - 宣言クラスとクラスオブジェクトの違い(クラスとクラス)
- 22. インクリメントとデクリメントC++とJavaの違い
- 23. "Listener"クラスの実装の違いは何ですか?
- 24. 実装でのセマフォとmutexの違いは何ですか?
- 25. JavaのGregorianCalendarクラスとCalendarクラスの違いは?
- 26. py3.xのlist()と[]の実装の違いは何ですか?
- 27. OktaのSAML Java ToolkitとOpenSAMLの実装には違いがありますか?
- 28. JavaとC#のオブジェクト
- 29. DLLとSLLの実装の違いは何ですか?
- 30. C#とJavaのBase64の違い
C++では、あなたがJavaで持っている 'node left、right; 'と同じことを達成するためにポインタを使う必要があります。例えば。 'ノード*左、右;'。 Btwの場合は、クラス名を 'node'ではなく' node'でなければなりません。 –
@DatNguyenその宣言は 'left'をポインタとして宣言するだけです。クラス名の最初の文字の大文字/小文字は、個人的な好みや会社のスタイルガイドまでです。 –
C++はJavaではありません。 C++コードを記述する際にJavaをモデルとして使用しないでください。 – PaulMcKenzie