c++ - 无法在 C++ 中为全局数组赋值

标签 c++ arrays variable-assignment

我有这个代码:

 #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(或任何其他函数)的主体内是可以的。

有些语句声明(称为声明语句),但通常它们不是。

关于c++ - 无法在 C++ 中为全局数组赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26026799/

相关文章:

java - 从具有相同除数集的相同长度的两个数组中计算对

javascript - 如何遍历对象数组并计算存在多少个重复值?

entity-framework - Entity Framework : Assign entity to property of another entity

c++ - 为什么赋值运算符调用构造函数?

if-statement - 如果否则赋值 "move out of borrowed content"

c++ - 如何在带有 C++ 的 Ubuntu 中使用 wmi

c++ - header 结构中的 DNS 查询格式小-大端问题

c++ - Xcode iPhone : Removing text from a . txt 文件

c++ - 如何在 Visual Studio 中包含子目录?

arrays - 调用/创建数组时从 csv 指定源行