2016-03-25 8 views

Antwort

2
template<class T, class... Ts> 
class A { 
    template<class U, class... Us> friend class A; //here you go 
}; 

Es besteht keine Notwendigkeit Vorlage Argumente nach A

+0

das Problem besteht, dass es einen neuen Parametersatz (Us) eingeführt ist. Ich möchte nur, dass der erste Parameter von A anders ist. Ist das auch möglich? – Philinator

+0

@Philinator Ich bin mir ziemlich sicher, dass es im aktuellen Standard nicht möglich ist. – xinaiz

1

Eine partielle Spezialisierung einer Klassenvorlage angeben können keinen Freund deklariert werden. Nur eine (vollständige) Spezialisierung oder eine ganze Klassenvorlage. Wenn Sie wirklich alle U Spezialisierungen anfreunden müssen, müssen Sie die gesamte Vorlage anfreunden:

template<class U, class... Us> friend class A; 
Verwandte Themen