有人能帮我解决这个错误 C2663: MediaSetting::mutable_mediamessage: 2 overloads have no legal conversion for this pointer
发生在 mutable_mediamessage()
被调用时以下代码。
class MediaSetting : public ::google::protobuf::Message {
public:
inline ::MSG::MediaMessage* mutable_mediamessage(int index);
inline ::google::protobuf::RepeatedPtrField< ::MSG::MediaMessage >* mutable_mediamessage();
}
inline ::MSG::MediaMessage* MediaSetting::mutable_mediamessage(int index) {
return mediamessage_.Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField< ::MSG::MediaMessage >*
MediaSetting::mutable_mediamessage() {
return &mediamessage_;
}
// my test codes
// ...
const ::MSG::MediaSetting& media = config.mediasetting();
::google::protobuf::RepeatedPtrField<::MSG::MediaMessage>* pmedia = media.mutable_mediamessage(); // Error C2663 is here
环境:VS2008
最佳答案
您正试图通过常量引用访问非常量成员函数。
关于c++ - 调用protocol buffer方法报错: 2 overloads have no legal conversion for this pointer,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30730630/