From d08b1e404f319c52257c9d8df3b934876a43be21 Mon Sep 17 00:00:00 2001 From: Ytai Ben-Tsvi Date: Mon, 2 Nov 2020 13:43:50 -0800 Subject: Make ScopedFileDescriptor default ctor implicit Having the default ctor marked explicit causes problems initializing it using the {} syntax, which occurs, e.g. in binder_parcel_utils.h:483 Without this change, compilation fails with: "chosen constructor is explicit in copy-initialization" Test: compiles Change-Id: Ic261a3d9ce4bbd7d3d54402ccdcc4d4e02add271 --- libs/binder/ndk/include_cpp/android/binder_auto_utils.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libs') diff --git a/libs/binder/ndk/include_cpp/android/binder_auto_utils.h b/libs/binder/ndk/include_cpp/android/binder_auto_utils.h index 18877af32a..8d60226725 100644 --- a/libs/binder/ndk/include_cpp/android/binder_auto_utils.h +++ b/libs/binder/ndk/include_cpp/android/binder_auto_utils.h @@ -313,7 +313,8 @@ class ScopedFileDescriptor : public impl::ScopedAResource { /** * Takes ownership of a. */ - explicit ScopedFileDescriptor(int a = -1) : ScopedAResource(a) {} + ScopedFileDescriptor() : ScopedFileDescriptor(-1) {} + explicit ScopedFileDescriptor(int a) : ScopedAResource(a) {} ~ScopedFileDescriptor() {} ScopedFileDescriptor(ScopedFileDescriptor&&) = default; ScopedFileDescriptor& operator=(ScopedFileDescriptor&&) = default; -- cgit v1.2.3-59-g8ed1b