c++ - 为什么 C++ 'int arr[n];' 这样 n 是变量在一种环境中工作而在另一种环境中不起作用?
问题描述
当我输入:
int n;
cin >> n;
int a[n];
它适用于 VS 代码,但不适用于 Visual Studio。
由于与内存相关的东西,我希望它根本不起作用。
那么,任何解释为什么它可以在 VS 代码上工作?
解决方案
a[n]
是可变长度数组 (VLA),它是 C99 的一个特性。它不是 C++ 功能。一些 C++ 编译器,至少,接受语法作为编译器扩展。
推荐阅读
- django - Django celery[redis] 不工作!请帮助我:(
- c++ - 有没有办法使用相同的索引迭代 std::tuple 和 std::array ?
- android - 找不到 viewpager2-1.0.0.aar (androidx.viewpager2:viewpager2:1.0.0)
- javascript - Javascript - .addEventListener('click') 在 console.log(item[i]) 时显示未定义
- python - Python从PDF文件中提取隐藏信息
- flutter - 如何为 graphql/flutter 设置登录令牌
- javascript - 将 TSX/JSX React 转换为字符串或 DOM 元素
- c - 动态内存分配时的垃圾值
- c# - Android 可调整大小的窗口
- wordpress - Wordpres:安装失败:下载失败。找不到工作的交通工具