【问题标题】:false expression must have a constant value in visual studio 2022 c++ [duplicate]false 表达式在 Visual Studio 2022 C++ 中必须具有常量值 [重复]
【发布时间】:2022-01-05 23:20:59
【问题描述】:

您好,我正在编译器中编写代码,但我的编译器出现此错误:“错误表达式必须具有常量值”在其中一个程序行中 我使用了其他编译​​器,但他们没有这么说,我可以编写我的程序,但在 Visual Studio 2022 中它给了我错误 该程序的示例是:

 stack<char> stack;
 queue<char> queue;
string str;
cin >> str;
char ch[str.length()];

错误在

char ch[str.length()];

我不知道如何解决这个问题 如果你们能帮助我,我会很高兴

【问题讨论】:

标签: c++ visual-studio compiler-errors visual-studio-2022


【解决方案1】:

可变长度数组不是 C++ 标准,请参阅 here。因为str.length()在运行时是已知的,但数组的大小必须在编译时知道,这会导致错误。

您应该改用std::vector

替换:

char ch[str.length()];

与:

std::vector<char> ch(str.length());

【讨论】:

    猜你喜欢
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 2020-08-11
    相关资源
    最近更新 更多