0

无法弄清楚为什么此代码会出错。

#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";
}

可能是什么原因 ?

4

1 回答 1

2

这个

A[0]=2;

不是初始化,它是对 的第一个元素的赋值A。您不能在函数之外执行此操作。

这是初始化,并且是合法的:

#include<iostream>

unsigned long long A[102] = {2};

int main()
{
    std::cout<<"OK\n";
}

它将第一个元素设置为2,其余元素设置为0

于 2013-05-07T19:29:56.923 回答