为什么函数中的局部数组不能接受一个不稳定的参数?在c++中
Why local array in function could not take an inconstant parameter? in c++
例如,在函数中,"a"数组和"first"数组(通常数组不能将非常量的整数作为参数)可以将"d"answers"a1"作为参数。我的问题是,为什么这样做,它们之间有什么区别?
#include <iostream>
using namespace std;
class BC {
int first[];
int modify(int a[], int d) {
int a1;
a[a1];
first[a1];
int sec[a1];
//a[d];
//first[d];
//sec[d];
}
};
a[a1]; // This is not an array declaration. This is referring to the a1-th element of the array.
first[a1]; // Same as above
int sec[a1]; // This IS a declaration and so SHOULD fail because a1 is non-const.
为了进一步阐明,你可以说
a[a1] = 5;
或
int x = a[a1];
当你写
a[a1];
您引用的是数组的一个元素,但没有对该值执行任何操作。这是允许的,尽管看起来毫无意义。[]运算符可能被重载,因此该语句可能会起作用。这就是它被允许的原因。
相关文章:
- 不计算一个范围内的完美数
- MacOS 上的 Xcode 11 项目不在一个函数中使用 sin 和 cos:未定义的符号"___sincosf_stret"
- Arduino Nano:A4988 使用串行输入时通过定时器进行步进控制不稳定
- 选择一个元素而不是一个对象的数组的原因
- 插件:TypeError:addons.function() 不是一个函数
- 我不知道为什么复制构造函数的调用在 c++ 中不稳定
- 如果我们不创建一个新节点并使用指针插入数据并建立链接(在链表中)怎么办?
- ArUco姿态估计中的不稳定值
- 只要我不包含一个标题,重新定义C++关键字合法吗
- 当我使用 fstream 与 for 一起使用时值不稳定,C++
- 你怎么编码,如果x不等于一个数字,程序就会退出
- C++,当函子不是一个选项时,我如何编写带有自定义函数调用的模板化 RAII 包装器?
- 如何让这个C++代码从用户那里读取五个整数而不是一个整数?
- 不稳定的C :每行适应性变化多变量初始化
- 加入向量的所有线程后,程序不稳定,而不是退出
- clEnqueueWriteImage 在执行时间上不稳定
- 将字符指针按顺序存储在 map 中 std::map<char*, int> mymap。将其存储为字符或字符串不是一个选项
- 不稳定:如何设置初始化器列表和函数参数的凹痕
- makefile不更新一个特定文件
- 为什么函数中的局部数组不能接受一个不稳定的参数?在c++中