有谁知道为什么:
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()中没有int x; main.cpp中的前向声明?当我把int x放在括号内时,编译器会说:''函数不带0参数''
答案 0 :(得分:1)
int ReadNumber();
main中的这个函数声明表明你的ReadNumber函数没有参数,并将返回一个int。
如果在ReadNumber声明(在main.cpp中)和定义(在io.cpp中)中添加int x作为参数:
int ReadNumber(int x)
对此函数的函数调用必须包含一个整数作为参数。这就是为什么你得到消息''函数不带0参数'':你正在调用一个等待1个参数的函数,你的函数调用不包含任何参数。
以下是ReadNumber函数调用的示例,包括参数:
int YourParamUsedInReadNumber = 0;
int x = ReadNumber(YourParamUsedInReadNumber);
正如评论中所建议的,你可能应该得到一本好的C ++书籍,以便在进一步学习之前掌握编程基础知识。