エラーハンドリングで安全な入力を生成する関数を用意していますので、数値(int)を入力するのがよりクリーンです。しかし、私は引数の1つが、必要な変数入力の境界を含む長さ2のオプションの配列であることを望みます。ここで引数として特定の大きさの配列を渡すには?
は、私が今のところ持っているものです。
//function prototype
void input_number(int* variable, string text = "Input : ", int boundaries[2] = NULL);
//function call
int variable;
input_number(&variable, "Choose a number between 0 and 10 : ", {0, 10});
これは私が関数に長さ2の配列を渡すことができますどのようにエラーにcannot convert '<brace-enclosed initializer list>' to 'int*' for argument '3' to 'void input_number(int*, std::__cxx11::string, int*)'
を投げ、動作しませんか?
また、int[] = NULL
はデフォルトの配列値に合っていますか、まったく間違っていますか?
詳細な回答ありがとうございます!余分な提案がたくさんある、私はそれが大好きです。そして、はい、私は関数のオーバーロードを避けたい場合でも、私は間違いなくそれらを使用する以外の選択肢がないと思います! – lolgab123
あなたはちょうど過負荷がオーバーロードせずにより多くのスペースを取っていないと書いた方法で、ちょうど読んで..非常に素晴らしいソリューションありがとう! (+最後のコードブロックに余分な閉じ括弧があり、入力直後に削除される可能性があります) – lolgab123