void method( double code = 0, CQueue* = NULL).
このメソッドは「.h」ファイルで定義されています。.cpp ファイルでは、ont メソッドでコードの値を割り当て (ここではキューを null にしたい)、別のメソッドでキューに null を割り当てます (コードはここでは 0 にする必要があります) 両方のパラメータをデフォルトの型にするc ++で有効ですか?別の方法は何ですか?
void method( double code = 0, CQueue* = NULL).
このメソッドは「.h」ファイルで定義されています。.cpp ファイルでは、ont メソッドでコードの値を割り当て (ここではキューを null にしたい)、別のメソッドでキューに null を割り当てます (コードはここでは 0 にする必要があります) 両方のパラメータをデフォルトの型にするc ++で有効ですか?別の方法は何ですか?
それは完全に有効です。それは、method();
と同じmethod(0, NULL);
でありmethod(x);
、 と同じでmethod(x, NULL);
あり、最終的にmethod(x, y);
はそれ自体であることを意味します。
キューを単独で渡すには、関数をオーバーロードする必要があります (つまり、同じ名前でパラメータが異なる別の関数を用意します)。このようなもの:
void method(queue q)
{
method(some-default-value, q);
}
有効です。
1 つの問題: 最初のパラメーターをデフォルトとして使用し、2 番目のパラメーターをデフォルトとして使用したくない場合があります。
この場合、最初のパラメーターを手動で指定するか、オーバーロードを使用する必要があります
void method(queue x){
method(0, x);
}
C++ では、1 つの条件下で必要な数のデフォルト パラメータを設定できます。デフォルト値を持つパラメータは、他のすべてのパラメータの後に配置する必要があります。
値を割り当てると、関数プロトタイプでパラメータが宣言された順序で値が割り当てられます。