我有以下代码:

 #include <iostream>
    int tabela[1];
    tabela[0] = 1;
    int main(){
        std::cout << tabela[0];
        std::cin.get();
        return 0;
    }

而且它不想工作。我的编译器说““tabela”没有命名类型”。
但是,如果我这样做:
#include <iostream>
int tabela[1];
int main(){
    tabela[0] = 1;
    std::cout << tabela[0];
    std::cin.get();
    return 0;
}

有用。某人能解释一下为什么吗?提前致谢。

最佳答案

在最外层,C++文件是一系列声明。 tabela[0] = 1;不是声明-它是语句(特别是表达式语句)。但是,函数主体是一系列语句,因此可以将此行放在main主体(或任何其他函数)的内部。

有些语句是声明(称为声明声明),但总的来说不是。

08-06 05:26