编译返回字符串&的函数的问题

时间:2013-11-21 19:49:59

标签: c++ string protocol-buffers

C ++函数如下:这是来自Google Protocol Buffers的自动生成代码。这是针对.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>’

有些人可以指出我,这里有什么问题以及如何解决这个特殊的错误?

1 个答案:

答案 0 :(得分:2)

你忘了给这个功能打电话:

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