¿Por qué funciona esto?variable const como parámetro de plantilla sin tipo (VARIABLE no puede aparecer en una expresión constante)
char __nontype[] = "foo";
typedef TemplateClass<T, __nontype> MyClass;
Pero esto (con una variable constante) no?
const char __nontype[] = "foo";
typedef TemplateClass<T, __nontype> MyClass;
error del compilador:
error: '__nontype' no puede aparecer en una constante expresión
error: argumento de plantilla 2 no es válido
Eso podría depender de la definición de TemplateClass <>. ¿Puedes publicar eso? – hatboyzero
@hatboyzero no lo hace – sehe
Creo que el malentendido fundamental aquí es que usted supone que el modificador 'const' automáticamente convierte algo en' constexpr'. Las matrices de Char no son constantes de tiempo de compilación; no se conocen hasta el tiempo del enlace. – tenfour