Правила  •  FAQ  •  Поиск  •  Пользователи  •  Группы
Профиль  •  Войти и проверить личные сообщения  •  Вход  •  Регистрация 
 
 
Инициализация массива констант
 
Начать новую тему   Ответить на тему    Список форумов FREESTUDENTS -> Архив
 
Автор Сообщение
Snake!



Репутация: 0    Сообщения: 1941
Стаж: 3 года 4 месяца
Сообщение16.01.2006 22:43 Инициализация массива констант Ответить с цитатой

Есть такой код:
Код:

class A{
  private:
     const int array[10];
  public:
     A();
     ~A();
};

Как проинициализировать такой массив?
выражение:
Код:
int const A::array[10]={1,2,3,4,5,6,7,8,9,10};
не работает.
Изучение форума rsdn пока ни к чему не привело.

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Blackmore



Репутация: 0    Сообщения: 1334
Стаж: 3 года 4 месяца
Сообщение17.01.2006 0:25 Ответить с цитатой

Это ты в каком месте пытаешься сделать?
private:
const int array[10]=new int[]{1,2,3,4,5,6,7,8,9,10};
или
private:
const int array[]{1,2,3,4,5,6,7,8,9,10};

думаю, что-то из этого должно работать (:


_________________
she turns and says "are you alright?"
I said "I must be fine cause my heart's still beating"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Snake!



Репутация: 0    Сообщения: 1941
Стаж: 3 года 4 месяца
Сообщение17.01.2006 0:46 Ответить с цитатой

Blackmore
Думаешь я это не пробовал? Смайлик
Вообще желательно через инициализирующий конструктор.

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Blackmore



Репутация: 0    Сообщения: 1334
Стаж: 3 года 4 месяца
Сообщение17.01.2006 0:59 Ответить с цитатой

а что компилер говорит? вообще константы обычно сразу инициализируют, а если оч.хочется в конструкторе, то не делать массив константным ((:

_________________
she turns and says "are you alright?"
I said "I must be fine cause my heart's still beating"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Snake!



Репутация: 0    Сообщения: 1941
Стаж: 3 года 4 месяца
Сообщение17.01.2006 1:03 Ответить с цитатой

Компилятор вот что говорит:
error C2143: syntax error : missing ';' before '{'
error C2258: illegal pure syntax, must be '= 0'
pure specifier can only be specified for functions
error C2059: syntax error : '{'
error C2334: unexpected token(s) preceding '{'; skipping apparent function body

Это на кусок:
Код:
const int array[10]=new int[]{1,2,3,4,5,6,7,8,9,10};


Ну ведь можно инициализировать не массив:
Код:

...
const int a;
...
A(int x):a(x){};
...

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов FREESTUDENTS -> Архив Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы


На главную •  RSS-лента •  PDA-версия
 
Powered by phpBB © 2001, 2007 phpBB Group
Hosted by INFOBOX