compiler does not find one of primitive type in parameter on overload
operator. so move type to empty struct from integer.
Change-Id: I3e7f86b2ec8cb9a0215d3699966f726177885e76
Signed-off-by: pius.lee <pius.lee@samsung.com>
}
// Internal use for macro SCOPE_EXIT
+
+struct __dummy{};
+
template <typename F>
ScopeExit<typename std::decay<F>::type>
-operator+(int, F&& f)
+operator+(__dummy, F&& f)
{
return ScopeExit<typename std::decay<F>::type>
{std::forward<F>(f)};
* }
*/
#define SCOPE_EXIT \
- auto SCOPE_EXIT_##__LINE__ = 0 + [&]() noexcept
+ auto SCOPE_EXIT_##__LINE__ = ::common::__dummy{} + [&]() noexcept
} // namespace common