diff --git a/cpp/src/arrow/engine/substrait/expression_internal.cc b/cpp/src/arrow/engine/substrait/expression_internal.cc index 16dcba8944832..02e453fbff9f9 100644 --- a/cpp/src/arrow/engine/substrait/expression_internal.cc +++ b/cpp/src/arrow/engine/substrait/expression_internal.cc @@ -142,7 +142,7 @@ std::string EnumToString(int value, const google::protobuf::EnumDescriptor* desc if (value_desc == nullptr) { return "unknown"; } - return value_desc->name(); + return std::string(value_desc->name()); } Result FromProto(const substrait::Expression::ReferenceSegment* ref, diff --git a/cpp/src/arrow/engine/substrait/serde.cc b/cpp/src/arrow/engine/substrait/serde.cc index 6b4c05a3b1dd5..db2dcb5928299 100644 --- a/cpp/src/arrow/engine/substrait/serde.cc +++ b/cpp/src/arrow/engine/substrait/serde.cc @@ -62,8 +62,8 @@ Status ParseFromBufferImpl(const Buffer& buf, const std::string& full_name, template Result ParseFromBuffer(const Buffer& buf) { Message message; - ARROW_RETURN_NOT_OK( - ParseFromBufferImpl(buf, Message::descriptor()->full_name(), &message)); + ARROW_RETURN_NOT_OK(ParseFromBufferImpl( + buf, std::string(Message::descriptor()->full_name()), &message)); return message; } diff --git a/cpp/src/arrow/engine/substrait/util_internal.cc b/cpp/src/arrow/engine/substrait/util_internal.cc index 89034784ab5bd..35e3baf94a6cd 100644 --- a/cpp/src/arrow/engine/substrait/util_internal.cc +++ b/cpp/src/arrow/engine/substrait/util_internal.cc @@ -30,7 +30,7 @@ std::string EnumToString(int value, const google::protobuf::EnumDescriptor& desc if (value_desc == nullptr) { return "unknown"; } - return value_desc->name(); + return std::string(value_desc->name()); } std::unique_ptr CreateVersion() {