[英]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.