报错
In member function ‘int32_t ISrvConcurrentClient::send_CiFIles(const FileCiInfo&)’:
./gen-cpp/ISrv.cpp:3960:14: error: cannot convert ‘const FileCiInfo*’ to ‘std::shared_ptr<const FileCiInfo>*’ in assignment
args.files = &files;
类声明
class ISrv_CiFIles_pargs {
public:
virtual ~ISrv_CiFIles_pargs() noexcept;
::std::shared_ptr<const ::FileCiInfo>* files;
uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
};
使用:
void ISrvClient::send_CiFIles(const ::FileCiInfo& files)
{
int32_t cseqid = 0;
oprot_->writeMessageBegin("CiFIles", ::apache::thrift::protocol::T_CALL, cseqid);
ISrv_CiFIles_pargs args;
args.files = &files;
args.write(oprot_);
oprot_->writeMessageEnd();
oprot_->getTransport()->writeEnd();
oprot_->getTransport()->flush();
}