E2386 Parameter 'parameter' kann nicht in einen komplexen Teil-Spezialisierungsausdruck aufgenommen werden (C++)
Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index
Bei der Deklaration oder Definition einer Teil-Spezialisierung für eine Template-Klasse ist es nicht erlaubt, beliebige typlose Template-Parameter in komplexen Ausdrücken zu verwenden. Die Parameter dürfen nur über ihren Namen referenziert werden. Ein Beispiel:
template<class T, int U>
class foo;
template<int U>
class foo<char, U * 3>; // Fehler: "U * 3" ist ein komplexer Ausdruck
template<int U>
class foo<char, U>; // OK: "U" ist ein einfacher Ausdruck, der über seinen Namen referenziert wird