2015-06-09 9 views
0

有人可以幫我找出這個錯誤C2663: MediaSetting::mutable_mediamessage: 2 overloads have no legal conversion for this pointer發生時,在以下代碼中調用mutable_mediamessage()錯誤:2協議緩衝區方法被調用時,這個指針沒有合法的轉換

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

回答

1

您正嘗試通過一個const引用來訪問一個非const成員函數。