#include <iostream>
#include <fstream>
using namespace std;
int main
{
int num1, num2;
ifstream infile;
ostream outfile;
infile.open("input.dat");
outfile.open("output.dat");
infile >> num 1 >> num 2;
outfile << "Sum = " << num1 + num2 << endl;
infile.close()
outfile.close()
return 0;
}
这就是我所做的,当我编译它时,我得到了这个错误,说
error C2470: 'main' : looks like a function definition, but there is no
parameter list; skipping apparent body
请不要恨我:(我是这个计算机科学的新手......
答案 0 :(得分:16)
我不恨你。的♥强>
函数具有参数,例如:
void foo(/* parameters here */);
如果你的函数没有,你不会省略列表,但是把它留空或放void
:
int main()
// or:
int main(void)
您使用的是由您自己决定的。我更喜欢明确说明void
。
注意,您还会遇到其他变种。这是第二种最常见的变体:
int main(int argc, char *argv[])
它给你一个参数的计数和它们是什么。如:
myExe andAOne andATwo andIDontHateYou
您将能够访问这些参数。可能会有更多,但现在应该涵盖它。直到后来才担心这些东西。 &LT; 3
关于您的代码:
int main(void) // no parameters
{
int num1, num2;
ifstream infile;
ostream outfile;
infile.open("input.dat");
outfile.open("output.dat");
infile >> num1 >> num2; // no spaces in you variable names
outfile << "Sum = " << num1 + num2 << endl;
infile.close(); // missing semicolon
outfile.close(); // missing semicolon
return 0; // fun fact: optional. In C++, return 0 in main is implicit
}
这应该让你开始。
其余部分可能没有意义,这没关系。我只是为了完整而包含它。如果它没有意义,暂时忽略它:
int main(void)
{
ifstream infile("input.dat"); // use the constructor to open it
ostream outfile("output.dat");
int num1, num2; // don't declare variables until you need them
infile >> num1 >> num2;
outfile << "Sum = " << num1 + num2 << endl;
// closing is done automatically in the destructor of the fstream
}
答案 1 :(得分:5)
您忘记了函数定义所需的括号。将其更改为:
int main()
{
...
}
答案 2 :(得分:4)
你在主要人物后缺少括号。
另外,分号:
infile.close();
outfile.close();
答案 3 :(得分:3)
将其更改为:
int main(int argc, char *argv[])
{
...
}
答案 4 :(得分:3)