c++要求所有声明都有类型说明符

error: C++ requires a type specifier for all declarations?

本文关键字:类型 说明符 声明 c++      更新时间:2023-10-16
#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("%dn", n);
    return 0;
}

我试图通过输入文件将输入传递给程序,但是,弹出以下错误,

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

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

你的程序相当于

#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("%dn", n);
    return 0;
}