Проблема с компиляцией функции, которая возвращает строку &

0

Функция C++ следующая: это автоматически сгенерированный код из буферов протокола Google. Это для переменной string NodeId в файле.proto.

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>

Может ли кто-то сказать мне, что здесь не так, и как исправить эту конкретную ошибку?

  • 0
    Какой тип является nodeId_ ?
Теги:
string
protocol-buffers

1 ответ

2
Лучший ответ

Вы забыли вызвать функцию:

const std::string& NodeId = TestClass.Testconfig().nodeId();
                                                         ^^
  • 0
    Супер Ответ @ Super Super Speed. Я пропустил это довольно долго. Я весьма признателен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню