-1
    void method( double code = 0, CQueue* = NULL).

このメソッドは「.h」ファイルで定義されています。.cpp ファイルでは、ont メソッドでコードの値を割り当て (ここではキューを null にしたい)、別のメソッドでキューに null を割り当てます (コードはここでは 0 にする必要があります) 両方のパラメータをデフォルトの型にするc ++で有効ですか?別の方法は何ですか?

4

3 に答える 3

6

それは完全に有効です。それは、method();と同じmethod(0, NULL);でありmethod(x);、 と同じでmethod(x, NULL);あり、最終的にmethod(x, y);はそれ自体であることを意味します。

キューを単独で渡すには、関数をオーバーロードする必要があります (つまり、同じ名前でパラメータが異なる別の関数を用意します)。このようなもの:

void method(queue q)
{
    method(some-default-value, q);
}
于 2012-08-02T19:46:11.523 に答える
0

有効です。

1 つの問題: 最初のパラメーターをデフォルトとして使用し、2 番目のパラメーターをデフォルトとして使用したくない場合があります。
この場合、最初のパラメーターを手動で指定するか、オーバーロードを使用する必要があります

void method(queue x){
    method(0, x);
}
于 2012-08-02T19:49:29.463 に答える
0

C++ では、1 つの条件下で必要な数のデフォルト パラメータを設定できます。デフォルト値を持つパラメータは、他のすべてのパラメータの後に配置する必要があります。

値を割り当てると、関数プロトタイプでパラメータが宣言された順序で値が割り当てられます。

于 2012-08-02T19:50:30.143 に答える