Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Объявление массива

390
15 октября 2005 года
lexus
143 / / 13.04.2004
Почему не работают конструкции
class tmp{
public:
int v1[] = { 1, 2, 3, 4 };
};

или

class tmp{
public:
const static int v1[] = { 1, 2, 3, 4 };
};
???
Подскажите, плиз
1.9K
15 октября 2005 года
mail0
137 / / 09.05.2005
Цитата:
Originally posted by lexus
Почему не работают конструкции
class tmp{
public:
int v1[] = { 1, 2, 3, 4 };
};

или

class tmp{
public:
const static int v1[] = { 1, 2, 3, 4 };
};
???
Подскажите, плиз

Если я не ошибаюсь, то инициализировать члены класса можно только в конструкторе.

3
15 октября 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by lexus
Почему не работают конструкции
class tmp{
public:
int v1[] = { 1, 2, 3, 4 };
};

или

class tmp{
public:
const static int v1[] = { 1, 2, 3, 4 };
};
???
Подскажите, плиз


Потому, что по стандарту в определении класса можно инициализировать лишь статические константные члены интегрального типа.
Инициализируй статический член вне определения класса:

 
Код:
class Tmp
{
public:
    const static int  v1[];
};

const int Tmp::v1[] = { 1, 2, 3, 4 };
390
15 октября 2005 года
lexus
143 / / 13.04.2004
Цитата:
Originally posted by Green
Потому, что по стандарту в определении класса можно инициализировать лишь статические константные члены интегрального типа.
Инициализируй статический член вне определения класса:
 
Код:
class Tmp
{
public:
    const static int  v1[];
};

const int Tmp::v1[] = { 1, 2, 3, 4 };



Спасибо

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог