ここには 2 つの問題があります。
srand
まず、ランダム シードを設定するために必要な を呼び出さないでください(通常は を介してsrand(time(nullptr)
)。
第二に、行print= int addition(int a,int b);
が正しく書かれていません。デフォルトの引数を使用すると仮定するとprint = addition();
、関数を宣言するのではなく呼び出すので、それは である必要があります。
これにより、メイン関数は次のようになります。
int main() {
srand(time(nullptr));
int print;
print= int addition();
cout<<"this is result of addition"<<print;
return 0;
}
編集:これは、関数にランダムなデフォルト引数があるという動作が実際に必要であると想定しています。これ自体が悪い設計上の決定のように思われ、おそらく呼び出し元によって生成された乱数を送信する方がよいでしょう。これにより、結果の関数が作成されます。
int main() {
srand(time(nullptr));
int a = rand()%99, b = rand()%99;
int print;
print= int addition(a, b);
cout<<"this is result of addition"<<print;
return 0;
}
rand()%99 は [0,98] の範囲の値を返すことにも注意してください。