داخل همون لینکی هم که گذاشتین توضیح دادم .
explicit برای توابع عضو کلاس کار نمی کنه فقط مخصوص سازنده کلاسه ولی میتونین حالت هایی که نمی خواهید رو غیر فعال کنید .
مثال :
class A
{
public:
void func(int a){} //zaman seda zadan ba int
template<typename T> void func(T a) = delete; //zaman seda zadan ba voroodi gheir az int
};
الان کد زیر ارور میده که همون چیزیه که شما می خواین :
A a;
a.func('7');//call function with char not int