Stanimir Ivanov Ответов: 1

Я получаю ошибку C2660: herage не принимает 0 аргументов.то же самое для myage.help?


#include <iostream>
#include <string>

using namespace std;

int herAge(int, int);
int myAge(int);

int main(){
	cout << "Our age difference is:" << (herAge() - myAge()) << endl;




	return 0;
}
int herAge(int DOB, int PY)
{
	cout << "Enter her date of birth:";
		cin >> DOB;
	cout << endl;
	cout << "Enter present year:";
	cin >> PY;
	cout << endl;
	DOB = PY - DOB;
	return DOB;
}
int myAge(int myAge)
{
	cout << "My age is:";
	cin >> myAge;
	return myAge;
}


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

Я попробовал изменить имена переменных,я читал в интернете об этой ошибке, но не смог найти ничего полезного для моего случая.

MadMyche

Попробуйте добавить в функцию значения параметров по умолчанию...
https://www.programiz.com/cpp-programming/default-argument

1 Ответов

Рейтинг:
6

OriginalGriff

Посмотрите на свой код:

int herAge(int, int);
int myAge(int);

int main(){
	cout << "Our age difference is:" << (herAge() - myAge()) << endl;
Вы найдете две функции - herAge и myAge - которые принимают два параметра и один параметр соответственно.
Затем вы пытаетесь вызвать их, не передавая никаких параметров!

Поскольку вы еще не объявили ни одной версии herAge или myAgeэто не принимает никаких параметров, компилятор не знает, что делать, и выдает вам ошибку.

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


Stanimir Ivanov

Неважно, что я обошел все вокруг.Надеюсь, вы поможете мне и в будущем :D

OriginalGriff

Параметры существуют для передачи значений в функции (вы узнаете о передаче их обратно позже, просто не беспокойтесь об этом в данный момент).

Поскольку ваши функции не используют никаких значений, которые вы могли бы передать, они не нужны - или не нужны!

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

Stanimir Ivanov

Спасибо!Я надеюсь,что не покажусь вам глупым, но я изо всех сил стараюсь научиться программированию:D Я просто тренируюсь с моими примерами

OriginalGriff

Мы все должны с чего-то начать!

Вы на курсе или читаете книгу?

Stanimir Ivanov

Я учусь в средней школе, но учусь по самопрограммированию.Я следую руководству youtube C++, которое почти похоже на курс колледжа.Только начинаю.

OriginalGriff

О боже...

Учебники YouTube, как правило, не стоят электронов и фотонов, потраченных впустую на их просмотр ... Возьмите книгу (Аддисон Уэсли делает отличные книги, Как это делают Wrox и Microsoft Press) или лучше курс (вы можете спросить преподавателя курса, если вы чего-то не понимаете) и следуйте ему от начала до конца, выполняя все упражнения. Это действительно лучше, чем you tube, где большинство видео производится людьми, которые не могут эффективно делать видео, не могут учить и вообще знают о предмете столько же, сколько люди, которые их смотрят...

Stanimir Ivanov

Я разберусь с этим,Спасибо за совет!

OriginalGriff

Всегда пожалуйста!