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