全局变量初始化查询
问题描述:
无法弄清楚为什么这段代码给出错误。全局变量初始化查询
在编译#include<iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
unsigned long long A[102];
A[0]=2;
int main()
{
cout<<"OK";
}
错误:
prog.cpp:6:1: error: ‘A’ does not name a type
但这工作正常。
#include<iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
unsigned long long A[102];
int main()
{
A[0]=2;
cout<<"OK";
}
可能是什么原因?
答
这
A[0]=2;
不是初始化,这是一个分配的A
第一个元素。你不能在功能之外做到这一点。
这是初始化,并且是合法的:
#include<iostream>
unsigned long long A[102] = {2};
int main()
{
std::cout<<"OK\n";
}
将第一元素2
和所有其余设置为0
。