vs2015 c++ 编译出错,说 表达式的计算结果不是常数,请问是什么问题,如何解决。

代码:#include<iostream>usingnamespacestd;intmain(){inta=4;intb[a]={1,2,3,4};return0;}编译... 代码:
#include<iostream>

using namespace std;

int main()
{
int a = 4;
int b[a] = {1,2,3,4};
return 0;
}

编译信息:
1>------ 已启动生成: 项目: Project1, 配置: Debug Win32 ------
1> 源.cpp
1>c:\users\administrator\documents\visual studio 2015\projects\project1\project1\源.cpp(8): error C2131: 表达式的计算结果不是常数
1> c:\users\administrator\documents\visual studio 2015\projects\project1\project1\源.cpp(8): note: 非常量参数或对非常量符号的引用导致了故障
1> c:\users\administrator\documents\visual studio 2015\projects\project1\project1\源.cpp(8): note: 请参见“a”的用法
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
展开
 我来答
sorthoth
推荐于2017-11-22 · TA获得超过685个赞
知道小有建树答主
回答量:531
采纳率:42%
帮助的人:298万
展开全部
定义数组时尺寸是不能用变量的
int b[] = { 1,2,3,4 };
或者
int b[4] = { 1,2,3,4 };
都行
追问
多谢,问题已经解决,如果想要用变量定义数组长度可以把代码改成:
int a = 4;
int *b = new int[a];
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式