Verilen Aşağıdaki basitDeğişkin şablon yapıcı öncelik
template <typename T>
struct A
{
A(T a) {}
template <typename ... Ts>
A(T a, Ts ... more) {}
};
int main()
{
A<int> a(1);
}
Ne A(T a)
variadic şablon yapıcı yerine çağrılacak olacağı garantidir ve neden struct
? T
int
olarak anlaşılabilmektedir zaman
14.8.2.4 daha özel olduğunu görmek için iki fonksiyonu şablonları karşılaştırılması ile ilgilidir. Ancak bu örnekte aday işlevlerden biri, bir işlev şablonu değildir. – aschepler
@aschepler Derleyicinin bu kadar uzağa gitmesi gerekmediğini söylüyorsunuz, çünkü kusursuz bir eşleşme olan, şablon olmayan bir işleve sahip olmak, şablon çözünürlüğüne bile gerek duymuyor demektir. Katılıyorum. Bunu kapsayan başka bir bölüm daha olacak. –