Das Problem ist, dass, wenn der Compiler use()
zum ersten Mal analysiert, Provider
nicht weiß, also nicht weiß, worauf sich Provider::Data
bezieht. Es könnte ein statisches Datenelement, der Name einer Elementfunktion oder etwas anderes sein. Deshalb müssen Sie typename
eingeben.
Das zusätzliche template
ist immer dann erforderlich, wenn der verschachtelte Name der Name einer Vorlage ist. Wenn es etwas anderes ist, dann könnte Data < ...
ein Vergleich sein.
Tags und Links c++