c++ - 在 C++ 中返回一个 const 引用

标签 c++

在下面的代码中,_myFoo 是对 Foo 类型对象的常量引用。

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 中),要么 return _myFoo();并给 _myFoo 一个定义。

请注意,如果 myFoo 确实应该是一个函数,您不应该在它前面加上下划线,因为我认为以下划线开头的函数名称是保留的。

关于c++ - 在 C++ 中返回一个 const 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21964295/

相关文章:

c++ - REGSVR32: 模块 "xxxxx.dll"加载失败...找不到相关程序集

c++ - 当我按下回车键或在其区域外单击鼠标时,如何从可编辑的 QComboBox 中删除光标?

python - 球体表面点的均匀分布?

c++ - 生成具有给定分布的字符

c++ - C++ 中的 XA 分布式事务

c++ - 在 Windows 中从 OpenGL 窗口捕获视频

C++:函数中的静态变量声明

c++ - 如何在 linux 下检查 c++ .to 文件?

c++ - 理论上和实践中的未定义行为

c++ - utf-8 中 std::string 的子字符串? C++11