メンバー関数ポインターの呼び出し:適切な構文
を分析するメンバー関数ポインターを扱う場合、実行を成功させるために正しい履歴に従うことが重要です。メンバー関数ポインターを介してメンバー関数を呼び出して必要なソリューションを提供しようとするときに遭遇する典型的な問題を掘り下げましょう。 公共: void walk(){ printf( "猫は歩いている\ n"); } }; int main(){ 猫ビッグカット; void(cat ::*pcat)(); pcat =&cat :: walk; bigcat。*pcat(); }
コンパイルエラー:bigcat。*pcat();ステートメントはエラーを生成します。オペレーターの優先順位は、単位オペレーターがバイナリ演算子よりも優先されることを規定しています。したがって、括弧は、ポインタからメンバーのバインディング操作を介してfunction call()を優先するために必要です。 ^ ^ ^ ^
括弧内の関数呼び出しを囲むことにより、最初にその実行が保証され、メンバー関数ポインターバインディングが続きます。オペレーター。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3