Я хотів би зробити це:
template <typename T>
struct S
{
...
static double something_relevant = 1.5;
};
але я не можу, оскільки something_relevant
не є цілісним типом. Це не залежить від того T
, але існуючий код залежить від того, чи є статичним членом S
.
Оскільки S є шаблоном, я не можу помістити визначення всередині компільованого файлу. Як вирішити цю проблему?
Оскільки c ++ 11 ключове слово inline змінилося, так що статичні змінні можна ініціалізувати в точці оголошення. Тож декларація для цього виглядатиме як "вбудований статичний подвійний something_relevant = 1,5;"
@ user8991265 Я вважаю, що вбудовані змінні доступні, оскільки C ++ 17, а не C ++ 11.
—
zupazt3
std::string
типу