c++的一个小问题,求解

#include
using namespace std;
int main()
{
int a{33333};
cout<<a<<endl;
return 0;
}

这段程序输出结果为什么报错呀,不是说C++初始化语句可以省略=吗,可是这里的int a{33333};是错的,如果加上=就对了呀。

int a(33333);

-std=c++11

int a(3333);

应该是相当于int a[0]={33333};

为什么非要用这么难以理解的语句呢,况且还容易产生歧义。

根本就编译不了。难道是C++11/14新语法?

http://codepad.org/bYqAoc5j

In function 'int main()':
Line 5: error: a function-definition is not allowed here before '{' token
compilation terminated due to -Wfatal-errors.

首先头文件就不对,应该是#include
using name space std;
int a[0]={3333};或者是a(3333);
还有你说的C++初始化语句可以省略=吗这句话,我找了半天,没找到不知道你从那找到的;

#include
a{3333} 从没见过这样的语法..
a[] = {3333};

include“iostream”