Кто-нибудь знает, почему в:C++ код компиляции ошибка
io.cpp:
# include <iostream>
int ReadNumber()
{
using namespace std;
cout << "Enter a number: ";
int x;
cin >> x;
return x;
}
void WriteAnswer(int x)
{
using namespace std;
cout << "The answer is " << x << endl;
}
main.cpp:
int ReadNumber();
void WriteAnswer(int x);
int main()
{
int x = ReadNumber();
int y = ReadNumber();
WriteAnswer(x+y);
return 0;
}
нет ИНТ х в Readnumber(); форвардная декларация в main.cpp? когда я укладывалась х внутри скобок, компилятор говорит, что: «» функция не принимает 0 Аргументы «
Время, затраченное на прочтение хорошей книги на C++. В вашем 'ReadNumber'' x' является * локальной переменной *. –
"нет int x в Readnumber(), forward declare", потому что вы его не поместили. И вы не должны, потому что это не соответствует определению функции, если вы это сделали, поэтому вы получаете это сообщение об ошибке. Объявление функций должно соответствовать определениям функций. –
Некоторые серьезные недоразумения здесь, но я не уверен, что это такое. Вы объявили ReadNumber без параметров, поэтому вы должны называть его без параметров. Почему вы хотите добавить его, это тайна для меня. Но совершенно правильно компилятор останавливает вас. Кстати, в вашем коде нет «форвардных деклараций». Передовые декларации довольно продвинуты, поэтому я бы забыл о них на данный момент. – john