LINUX.ORG.RU

Сообщения uniqsmart

 

protobuf в set_allocated как правильно передать готовый объект

Форум — Development

в протобуферной структуре Foo имеется поле-структура bar типа Bar с repeated полем, и, возможно поэтому для установки этого поля bar протобуф предлагает только метод set_allocated_bar(), который требует указатель на структуру Bar. Метода set_bar() просто нет.

Как выделить память для bar_ и скопировать все из bar не распаковывая bar:

void myfunct(const myproto::Bar & bar) {
  myproto::Foo foo;

  myproto::Bar * bar_;  
  // выделить память как?
  bar_ = … // скопировать все из bar как?
  foo.set_allocated_bar(bar_);
  
  
}

P.S. а как вы работаете с repited полями? может я не правильно понял протобуф.

 ,

uniqsmart
()

cmake += для переменной

Форум — Development

Вот этот код работает

file (GLOB SRCS *.cc *.h 
/home/user/other/cpp-base64/base64.h
/home/user/other/cpp-base64/base64.cpp)

Хочу разнести работу со сторонним кодом и своим

file (GLOB SRCS *.cc *.h) 

и

find_path(CPP_BASE64_INLUDE_DIR "cpp-base64/base64.cpp")

но не получается добавить найденный путь к SRCS, вот как то так

SRCS += "${CPP_BASE64_INLUDE_DIR}/cpp-base64/base64.h"
SRCS += "${CPP_BASE64_INLUDE_DIR}/cpp-base64/base64.cpp"

 

uniqsmart
()

enum class error C2143

Форум — Development

А чего это за ошибка и как ее исправить?

enum class MyStatus: int
{
    OK = 1,
    ER = 2 //  error C2143: syntax error: missing '}' before 'constant'
};

enum class MyStatus: int
{
    OK = 1,
    ER = 2, //  error C2143: syntax error: missing '}' before 'constant'
};

 , , ,

uniqsmart
()

RSS подписка на новые темы