繁体   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