Me gustaría hacer esto:
template <typename T>
struct S
{
...
static double something_relevant = 1.5;
};
pero no puedo ya something_relevant
que no es de tipo integral. No depende de T
, pero el código existente depende de que sea un miembro estático S
.
Como S es plantilla, no puedo poner la definición dentro de un archivo compilado. ¿Cómo resuelvo este problema?
Desde c ++ 11, la palabra clave en línea ha cambiado para que las variables estáticas se puedan inicializar en el punto de declaración. Entonces, la declaración para esto se vería como "inline static double something_relevant = 1.5;"
@ user8991265 Creo que las variables en línea están disponibles desde C ++ 17, no C ++ 11.
—
zupazt3
std::string
tipo