コンストラクターが呼び出されないのはなぜですか?
提供された C コードでは、Class というクラスが、デフォルトのコンストラクターとデストラクターを使って定義されています。オブジェクトの作成時と破棄時のそれぞれのメッセージ。ただし、このクラスのインスタンスを作成しようとすると、main 関数にコンストラクター呼び出しが表示されません。代わりに、関数宣言が誤って宣言されてしまいます。
この問題を修正し、デフォルトのコンストラクターを適切に呼び出せるようにするには、Class object(); という行を追加します。 main 関数内の を Class オブジェクトに変更する必要があります。この変更により、 Class 型のオブジェクトが正しく宣言され、そのデフォルト コンストラクターの実行がトリガーされます。
さらに、この問題は、C の「最も厄介な解析」として知られる潜在的な落とし穴を示しています。この場合、パーサーは宣言 Class object(); を誤って解釈します。オブジェクト宣言の代わりに関数宣言として。これを防ぐには、オブジェクト宣言の後のセミコロンを削除する必要があります。
以上がC コンストラクターが呼び出されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。