私は、2つのデフォルトパラメータでコンストラクタを記述する必要があります。デフォルトの引数C++をスキップする方法は?
func(int arg1 , char* arg2 = "arg2", int arg3 = 1) //example
は、私は、コンストラクタが呼び出されるシナリオを提供していますし、値はデフォルト値を使用することが予想されarg1
とarg2
とarg3
に与えられています。次に、別のオブジェクトがインスタンス化され、値がarg1
とarg3
に与えられ、arg2
のデフォルト値が使用されると予想されます。 問題は、あなたが「スキップできません」というデフォルトのパラメータは、私がテキストとオンラインから読んでいることです。これは、デフォルトのパラメータを過負荷にする可能性から順序付けすることを意味しますが、シナリオにはデフォルトパラメータが使用されていますが、他のパラメータは使用されていません。この質問のヒントは、パラメータ/引数を並べ替えるよう指示します。しかし、私が行った並べ替えの量は、この問題を解決することはできないようです。
また、オーバーロードされたコンストラクタは使用できません。これは、1つのコンストラクタで行う必要があります。
どのようにこれを行うでしょうか?私は困惑し、この上でビット発狂:(
これは、単一の関数定義でC++で行うことはできません。あなたが持っている奇妙な制約に違反する他のソリューションがあれば、あなたが望むのは不可能です。おそらく、あなたは別の言語を使うことができます。 –
はこの宿題ですか? – xmoex
'object 'の' vector'を使用できませんか?この方法で、あなたが望むものを渡し、 'ヌル 'エントリに基づいて渡されなかったものをソートすることができます。 – MoonKnight