С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
#1

"Не хочу константу!" - C++

06.10.2011, 23:20. Просмотров 1503. Ответов 8
Метки нет (Все метки)

Здравствуйте. Компилятор (пишу в wxDev-C++) ругается на такой код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef LIFE_H
#define LIFE_H
 
class Life
{
public:
    Life ();                        // конструктор
    int around ( int, int );        // считает, сколько клеток вокруг
    void deadOrAlive ( int, int );  // изменяет клетку в зависимости от условий
    void throughArray ();           // прочесывает массив и проверяет каждую его клетку
    void copyArrays ();             // копирует запасной массив в основной
    void clean_Array ();            // очищает запасной массив
    void printArray ();             // печатает массив
    
    int alive ();                   // считает, сколько живых клеток осталось
        
private:
    const int y_size = 44;
    const int x_size = 99;
    
    unsigned char array [ y_size ][ x_size ];        // основной массив
    unsigned char _array [ y_size ][ x_size ];       // запасной массив
};
 
#endif
и говорит:
ISO C++ forbids initialization of member `y_size'
making `y_size' static
ISO C++ forbids initialization of member `x_size'
making `x_size' static
Что делать? Вроде всё в порядке же.
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2011, 23:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос "Не хочу константу!" (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Записать константу "Гравитационная постоянная" - C++
Как написать гравитационное постоянная G=6,67×10^−11 на c++

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс "вентилятор" содержащий в себе классы:...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

8
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.10.2011, 23:21 #2
C++
1
2
static const int y_size = 44;
static const int x_size = 99;
1
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
06.10.2011, 23:57 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Life
{
public:
    Life (){}        
    // ...
private:
    enum {x_size = 99, y_size=44};
    unsigned char array [y_size][x_size];        // основной массив
    unsigned char _array [y_size][x_size];       // запасной массив
};
 
int main()
{
    Life();
}
0
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
07.10.2011, 00:06 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Life
{
public:
    Life (){}        
    // ...
private:
    unsigned char array [44][99];        // основной массив
    unsigned char _array [44][99];       // запасной массив
};
 
int main()
{
    Life();
}
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
07.10.2011, 05:00 #5
lazybiz, а если захотим изменить размер массива? Придется менять определение всех методов класса?
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
07.10.2011, 07:44 #6
Цитата Сообщение от Nameless One Посмотреть сообщение
lazybiz, а если захотим изменить размер массива? Придется менять определение всех методов класса?
Только при явных константах.
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
07.10.2011, 08:21 #7
taras atavin, смотри сообщение #4
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
07.10.2011, 08:25 #8
Кстати, а почему бы не сделать массив динамическим? Тогда размеры можно хранить не в константах, а в переменных.
0
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
07.10.2011, 08:37 #9
Цитата Сообщение от taras atavin Посмотреть сообщение
Кстати, а почему бы не сделать массив динамическим? Тогда размеры можно хранить не в константах, а в переменных.
а почему бы не сделать размер параметром шаблона?
0
07.10.2011, 08:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2011, 08:37
Привет! Вот еще темы с ответами:

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...

Реализовать структуру "Анкета" с полями "Фамилия", "Пол" и "Адрес" - C++
Здравствуйте. Проходим тему Структуры, не могу понять, как определить количество, само задание: #include <iostream> #include...

Структура «Преподаватель» с полями "ФИО", "стаж", "категория", "нагрузка" - C++
Функция - расчёт зарплаты по нагрузке и оплате часа для определенной категории. Категория Оплата часа Вторая 150 Первая 200 ...

Создать иерархию классов "Фирма", "Бухгалтер", "Сотрудник", "Зарплата" - C++
Само по себе понятие "зарплата" не особенно конкретное: оно включает и почасовую, и ставочную зарплату, и комиссионные, и процент с продаж....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.