char arr[6] 是一个数组.
char* &arr 是指针的(n值)引用.
现在,由于参数的类型不正确,因此必须进行转换.数组隐式衰减(衰减是一种转换)为指向第一个元素的指针.
但是这个腐朽的指针是一个临时的(一个右值).非const左值引用不能引用rvalues,因此foo使用数组参数调用将是不正确的.
您可以创建指针变量; 可以传递给foo:
char* ptr = arr;
foo(ptr, ...);
Run Code Online (Sandbox Code Playgroud)
然后,该函数可以修改该指针(即使其指向某个其他char对象),因为该引用是非const的.
PS.数组初始化有一些问题."1"而"2"不是char对象.
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |