অন্যরা সমাধানটি ব্যবহার করে std::is_same
এবং উল্লেখ করেছেন decltype
।
এখন ফাংশন স্বাক্ষরের একটি স্বেচ্ছাসেবী সংখ্যার জন্য তুলনা সাধারণ করতে, আপনি নিম্নলিখিতটি করতে পারেন
#include <type_traits> // std::is_same, std::conjunction_v
template<typename Func, typename... Funcs>
constexpr bool areSameFunctions = std::conjunction_v<std::is_same<Func, Funcs>...>;
এবং এক হিসাবে অনেক ফাংশন তুলনা করুন
areSameFunctions<decltype(funA), decltype(funB), decltype(funC)>
( লাইভ ডেমো দেখুন )
অথবা কম টাইপিংয়ের জন্য (অর্থাত্ ছাড়া decltype
) এটি একটি ফাংশন হিসাবে তৈরি করুন
template<typename Func, typename... Funcs>
constexpr bool areSameFunctions(Func&&, Funcs&&...)
{
return std::conjunction_v<std::is_same<Func, Funcs>...>;
}
এবং সহজভাবে কল করুন
areSameFunctions(funA, funB, funC)
( লাইভ ডেমো দেখুন )