![]() |
1
1
问题是不能把C数组作为函数传递给函数,C不允许它,所以C++也不允许。如果你声明一个函数以一个C数组作为参数,编译器会悄悄地把它变成一个指针,所以你实际上是在传递一个指针。因此,在该指针参数上调用std::begin和std::end将不起作用。
为了使这项工作在C++中,你需要使用
|
![]() |
2
4
相当于
要保留长度信息,可以在单独的参数中传递,也可以传递对数组的引用:
此外,还有一个语法错误:
层 是 已经有了一个数组(但是如果传递给函数的指针版本,则会衰减为指针),而在上面一行中实际要做的是对数组应用index运算符,但是不带参数(注意,有了参数,将得到一个浮点值,不再是指针)。
最后:两者
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 6 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 6 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 6 月前 |