Hej,
muszę przekazać za pomocą parametru szablonu klasy zmienną typu const char*:
class JakasKlasa
{
public:
static constexpr const char* const NAME = "abc";
};
Troszkę powalczyłem z tym i zrobiłem coś takiego:
template<const char* const& name>
class JakasKlasa2
{
public:
JakasKlasa2() {
std::cout << name << std:endl;
}
};
// ...
JakasKlasa2<JakasKlasa::NAME> variableA;
Tylko co ja właściwie zrobiłem? Co to jest const char* const& ? Czy to jest w ogóle prawidłowe podejście?
Spr. GCC 8.x, Clang i MSVC - wszędzie się kompiluje.
Jedynie Visual Studio 2017 podkreśla błąd.
Chcę się upewnić, że to potem nie przestanie w magiczny sposób działać.
Nie mam możliwości zmiany typu zmiennej JakasKlasa::NAME i musi ona być przekazana jako parametr szablonu klasy niestety.