簡體   English   中英

從const成員函數返回引用數組

[英]Returning a reference array from a const member function

如何從const成員函數返回數組引用?

class State{
    Chips (&arr() const)[6][7] { return arr_; }
    Chips val() const { return val_; }
}

'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_; }
...

但無論如何,使用typedef你會好得多

...
typedef Chips Chips67[6][7];
const Chips67 &arr() const { return arr_; }
...

您需要將該函數指定為返回Chips指針。 所以,

Chips* arr() const;

是你在找什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM