alex bottom122323 Ответов: 3

Я пытаюсь создавать функции в C++ и получаю ошибку.


Я пытался создать функцию и получил ошибку, что "слишком мало аргументов для функций"
код приведен ниже:

#include<iostream>
using namespace std;

int sum(int a ,int b){
    int c=a+b;
    return c;
}

int main(){
    int d;
    int e;
    cout<<"enter num 1"<<endl;
    cin>>d;
    cout<<"enter num 2"<<endl;
    cin>>e;
    cout<<"the sum is"<<sum(d+e);
    return 0;
}



Ошибка была примерно такой:

PS E:\code practice> cd "e:\code practice\" ; if ($?) { g++ tutt9.cpp -o tutt9 } ; if ($?) { .\tutt9 }
tutt9.cpp: In function 'int main()':
tutt9.cpp:16:32: error: too few arguments to function 'int sum(int, int)'
   16 |     cout<<"the sum is"<<sum(d+e);
      |                                ^
tutt9.cpp:4:5: note: declared here
    4 | int sum(int a ,int b){
      |     ^~~
PS E:\code practice>


Что я уже пробовал:

Попробовал изменить файл проекта, но каждый раз один и тот же результат.

3 Ответов

Рейтинг:
1

Richard MacCutchan

Смотрите на свой код, а не на файл проекта. Ваше определение функции суммы таково:

int sum(int a ,int b){

Таким образом, он требует два целых числа в качестве параметров. но когда ты называешь его по:
sum(d+e);

Вы передаете только одно значение-сумму d и e.


CPallini

5.

Richard MacCutchan

Спасибо. На этот раз я правильно выразился. :)

CPallini

Это любимый язык.

Рейтинг:
0

F-ES Sitecore

Вы разделяете парамы запятой

sum(d, e)


Если вы не знаете, как вызвать функцию, я настоятельно рекомендую вам потратить больше времени на изучение основ языка, прежде чем пытаться что-либо написать.


CPallini

5.

Рейтинг:
0

Patrice T

Ваша функция

int sum(int a ,int b){

хочет 2 аргумента a и b,
но вы называете это как
sum(d+e);

которые сочетают в себе d и e на 1 аргумент.