无法分配常量大小为0的数组

Gla*_*der 0 c++ arrays visual-studio-2010

 int len = GetWindowTextLengthW(hwndEdit) + 1;
 wchar_t text[len];
Run Code Online (Sandbox Code Playgroud)

我明白了

错误2错误C2466:无法分配常量大小的数组0
错误3错误C2133:'text':未知大小
错误1错误C2057:预期的常量表达式

我不明白为什么它不会编译,因为GetWindowTextLengthW(hwndEdit)+ 1> 0

null + 1 = 1不是真的吗?

gus*_*f r 5

你想要的是不必关心内存管理,对吧?这就是你选择静态分配数组的原因.

是的,您可以使用new此处推荐的答案,但我建议:

std::vector< wchar_t > text;