无法在c++中为全局数组赋值
Cannot assign value to global array in c++
我有这样的代码:
#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++,您只能在全局中初始化变量,不能在那里赋值。
编辑:评论打败了我。道具
相关文章:
- 乘以字符串/数组和全局数组
- 初始化与函数输入相关的全局数组
- 有没有办法避免全局数组
- 为什么 g++ 不优化局部数组而是优化全局数组?
- (C )创建可以从功能访问的动态全局数组/向量
- 全局数组在 C 代码中添加到头文件时没有"类型"
- 在标头中定义全局数组的模板技巧
- 在不使用For循环的情况下将数据从指向本地数组的指针传输到全局数组
- 删除全局数组时堆损坏
- 全局数组变量在线程中丢失值
- 如何将多个位图包含在全局数组列表中
- 引用到全局数组时更改了 C++ 数组内容
- 在线判断平台中的全局数组堆内存分配
- 定义静态全局数组以避免在函数中定义它
- atof更改全局数组的值
- C++/Qt如何声明和初始化对象的全局数组
- 静态全局数组中的函数
- 从函数返回指向全局数组的指针
- 无法在c++中为全局数组赋值
- 我需要破解一个c++编译器来发出和解释一个特定的类指针作为全局数组内的索引