C ++函数如下:这是从Google协议缓冲区自动生成的代码。这是用于.proto文件中的变量字符串NodeId的。

inline const ::std::string& TestClass::nodeId() const {
  return *nodeId_;


上面的函数调用如下

const std::string& NodeId = TestClass.Testconfig().nodeId;


当我编译该文件时,出现以下错误。

prgms# g++ test.cpp
test.cpp:96:56: error: invalid initialization of reference of type ‘const string& {aka const std::basic_string<char>&}’ from expression of type ‘<unresolved overloaded function type>’


有人可以指点我吗,这是什么问题,以及如何解决此特定错误?

最佳答案

您忘记了调用该函数:

const std::string& NodeId = TestClass.Testconfig().nodeId();
                                                         ^^

10-08 08:55