DonelyLL 2022-12-02 08:17 采纳率: 0%
浏览 186

表达式的结果不是常数

问题遇到的现象和发生背景

m的表达式的结果不是常数!错误c2131

用代码块功能插入代码,请勿粘贴截图
int main()
{
    int i, m, k;
    cout << "请输入需重排的车厢数:";
    cin >> m;
    int A[m], car;
    cout << "请依次输入需重排的车厢序列编号:";
    for (i = 0; i < m; i++)
        cin >> A[i];
    cout << "请输入缓冲轨(队列)的数目:";
    cin >> k;
    cout << endl;
    CTrackStation trackStation;
    bool ok = false;
    do
    {
        InitCTrackStation(trackStation, k);
        if (RealignCTrackStation(trackStation, A, m))
        {
            ok = true;
            cout << endl << "车厢已重排!" << endl;

        }
        else
        {
            DestroyCTrackStation(trackStation);
            cout << "缓冲轨的数目为" << k << "时,因车厢无法重排,请重输缓冲轨的数目:";
            cin >> k;
            cout << endl;
        }
    } while (!ok);
    DestroyCTrackStation(trackStation);
    system("pause");
    return 0;

运行结果及报错内容

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2131 表达式的计算结果不是常数 cardispatching

  • 写回答

2条回答 默认 最新

  • Minuw 2022-12-02 08:33
    关注

    第6行int A[m]
    因为你的m是输入的
    是一个变量不是常数
    不能这样定义

    可以new或者malloc

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 12月2日
  • 创建了问题 12月2日