簡體   English   中英

在C ++中返回const引用

[英]Returning a const reference in C++

在以下代碼中,_myFoo是對Foo類型的對象的const引用。

struct Foo
{
};

const Foo& _myFoo();

const Foo& GetMyFoo()
{
    return _myFoo;
}

當我嘗試編譯它時,出現以下錯誤:

error: invalid initialization of reference of type 'const Foo&' 
from expression of type 'const Foo& (*)()'

我究竟做錯了什么? 有什么方法可以通過函數調用返回_myFoo嗎?

_myFoo不是變量,它是一個返回const Foo&且不帶參數的函數。 要么更改_myFoo的聲明(並可能將其放入struct Foo中),要么返回_myFoo(); 並給_myFoo一個定義。

請注意,盡管如果myFoo確實是一個函數,則不應在其下添加下划線,因為我相信以下划線開頭的函數名稱是保留的。

暫無
暫無

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

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