gpt4 book ai didi

c++ - 如何在 VC++ 中创建可变大小的字符数组

转载 作者:太空狗 更新时间:2023-10-29 21:45:03 27 4
gpt4 key购买 nike

const int sizea = 600; 
char sz[sizea];

上面的代码工作正常。但是下面的代码段会导致错误。我正在开发 visual studio 2005 - MFC 应用程序

CString strFinal;

.......//strFinal value is dynamically changing . .

const int size = strFinal.GetLength();
char sz[size];

Error 2 error C2057: expected constant expression
Error 5 error C2070: 'char []': illegal sizeof operand
Error 4 error C2133: 'sz' : unknown size Error 3 error C2466: cannot allocate an array of constant size 0

最佳答案

在当前版本的 C++ 中,数组必须具有固定大小,由编译时常量指定。如果您需要使用运行时值,那么您的选择是:

  • 最方便的是,使用动态数组类,例如std::stringstd::vector<char> ;
  • 使用支持 C99 可变长度数组作为非标准扩展的编译器;
  • 等一年(希望)在 C++14 中引入动态数组(也许再等一段时间,让您的编译器供应商 catch )。

关于c++ - 如何在 VC++ 中创建可变大小的字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444318/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com