dav*_*vid 3 c++ reference multidimensional-array
如何从const成员函数返回数组引用?
class State{
Chips (&arr() const)[6][7] { return arr_; }
Chips val() const { return val_; }
}
Run Code Online (Sandbox Code Playgroud)
'const Chips [6] [7]'类型表达式'Chips(&)[6] [7]'类型引用的初始化无效
谢谢.
你有正确的语法,但如果arr_是类的直接成员(可能是),那么你根本无法返回对该成员的非成本引用.在上述arr方法中,成员arr_被视为具有const Chips[6][7]类型.您不能使用此类型初始化类型的引用,Chops (&)[6][7]因为它会破坏const正确性.为了完成上面的编译,你还需要一个const返回的引用
...
const Chips (&arr() const)[6][7] { return arr_; }
...
Run Code Online (Sandbox Code Playgroud)
但无论如何,使用typedef你会好得多
...
typedef Chips Chips67[6][7];
const Chips67 &arr() const { return arr_; }
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1379 次 |
| 最近记录: |