错误:C ++需要所有声明的类型说明符?

时间:2014-03-29 09:47:15

标签: c++ stdin

#include <cstdio>
#include <iostream>
#include <fstream>
#define INPUT_FILE

#ifdef INPUT_FILE
    freopen("test.txt", "r", stdin);
#endif

using namespace std;

int main(int argc, char const *argv[])
{
    int n;
    while(scanf("%d", &n))
        printf("%d\n", n);
    return 0;
}

我正在尝试通过输入文件将输入传递给程序,但会弹出以下错误,

error: C++ requires a type specifier for all declarations
freopen("test.txt", "r", stdin);
    ^~~~~~~
1 error generated.

1 个答案:

答案 0 :(得分:3)

您不能在函数或程序的任何其他可执行部分之外使用函数。

您的计划相当于

#include <cstdio>
#include <iostream>
#include <fstream>
#define INPUT_FILE


freopen("test.txt", "r", stdin); // Makes no sense

using namespace std;

int main(int argc, char const *argv[])
{
    int n;
    while(scanf("%d", &n))
        printf("%d\n", n);
    return 0;
}