Eu gostaria de fazer isso:
template <typename T>
struct S
{
...
static double something_relevant = 1.5;
};
mas não posso, pois something_relevant
não é do tipo integral. Não depende T
, mas o código existente depende de ser um membro estático S
.
Como S é modelo, não posso colocar a definição em um arquivo compilado. Como eu resolvo este problema ?
Desde o c ++ 11, a palavra-chave inline mudou para que variáveis estáticas possam ser inicializadas no ponto da declaração. Portanto, a declaração para isso seria "inline static double something_relevant = 1.5;"
@ user8991265 Acredito que variáveis em linha estejam disponíveis desde C ++ 17, não C ++ 11.
—
zupazt3 20/04
std::string
tipo #