Я прочитал, что конструкторы могут инициализировать только нестационарный атрибут. Я написал небольшой код, чтобы проверить это, и мне интересно теперь, потому что компилятор dosnt показывает какую-либо ошибку ??? Могу ли я инициализировать статический атрибут и нестатический атрибут в конструкторе или нет? это мой код! Большое спасибо!Как инициализировать статический атрибут в C++?
class NixIs {
int var;
static int global;
public:
NixIs(int val = 0)
{
global = val;
}
Вы можете использовать 'static int global = 0;' только для членов 'const', т. Е.' Static int const global = 0; '. –
Определяя в заголовках, вы можете получить количество копий значения в двоичных файлах, что может быть или не быть тем, что вы хотите. – Jason
Если вы хотите инициализировать несколько статических полей в определенном порядке, просто поместите определения в один файл cpp в этом порядке *. * Технически есть несколько проходов при инициализации, но эффективно, только это. –