Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
bupal
25 / 25 / 2
Регистрация: 30.03.2010
Сообщений: 343
Записей в блоге: 1
#1

Размерность структуры - C++

24.11.2011, 00:08. Просмотров 815. Ответов 15
Метки нет (Все метки)

Создал структуру..после чего объявляю её размерность
C++
1
proc process[N]
до этого объявил
C++
1
int N = 5;
ругается на этот N в объявлении размерности...что делать?..
просто записать туда 5 не вариант...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2011, 00:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Размерность структуры (C++):

Помещение структуры в вектор, удаление структуры, изменение элементов структуры - C++
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный элемент структуры. 2 - удалять...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё. - C++
Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для...

Функция внутри структуры использует указатель, как поле этой структуры - C++
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл GlobalItems.h, где хранятся глобальные...

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) - C++
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом создаю экземпляр, Subject G; ...

Вывод структуры, строка как элемент структуры - C++
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта назначения; □ номер поезда; □ время отправления. ...

Размерность std::map - C++
Добрый вечер. Использую тип данных 16 байтовый. Надо записать несколько десятков миллионов расчетов в map <type, type> val; C...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
24.11.2011, 00:09 #2
bupal, 1 вы создаете массив.
2 либо объявите N как const int N = 5 либо юзайте динамическое выделение памяти.
bupal
25 / 25 / 2
Регистрация: 30.03.2010
Сообщений: 343
Записей в блоге: 1
24.11.2011, 00:10  [ТС] #3
Цитата Сообщение от ForEveR Посмотреть сообщение
bupal, 1 вы создаете массив.
2 либо объявите N как const int N = 5 либо юзайте динамическое выделение памяти.
Про динамическое можно по подробнее?...
это типа вектора?...
Сыроежка
Заблокирован
24.11.2011, 00:11 #4
bupal,
Размерность массива должна быть константным выражением. Поэтому объяви N следующим образом

C++
1
const int N = 5;
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
24.11.2011, 00:12 #5
bupal, Ну можно и контейнеры юзать (наилучший вариант).
А динамическое выделение памяти - оператор new в С++.
bupal
25 / 25 / 2
Регистрация: 30.03.2010
Сообщений: 343
Записей в блоге: 1
24.11.2011, 00:15  [ТС] #6
Цитата Сообщение от ForEveR Посмотреть сообщение
bupal, Ну можно и контейнеры юзать (наилучший вариант).
А динамическое выделение памяти - оператор new в С++.
я просто в C++ не так давно...можно конкретный код?..
а то я не понял..толи в объявление N нужно вставить new, толи в объявление структуры...толи ещё куда))
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
24.11.2011, 00:19 #7
bupal, proc* process = new proc[N];
bupal
25 / 25 / 2
Регистрация: 30.03.2010
Сообщений: 343
Записей в блоге: 1
24.11.2011, 00:21  [ТС] #8
ещё одна проблема...объявил как константу..
но теперь ругается на другое, пишет: это объявление не содержит класс хранения или спецификатор типа.
что это значит?..
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
24.11.2011, 00:23 #9
bupal, Что? Код и цитату вывода компилятора в студию.
bupal
25 / 25 / 2
Регистрация: 30.03.2010
Сообщений: 343
Записей в блоге: 1
24.11.2011, 00:28  [ТС] #10
Цитата Сообщение от ForEveR Посмотреть сообщение
bupal, Что? Код и цитату вывода компилятора в студию.
с начала сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
const int N = 5;
 
struct proc
{
    int count;
    int Length;
    int RLength;
    int Sort;
}
 
proc process[N];
выдал ту ошибку, про которую написал ранее...
потом сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
int N = 5;
 
struct proc
{
    int count;
    int Length;
    int RLength;
    int Sort;
}
 
proc* process = new proc[N];
ругается на звёздочку и proc после new
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
24.11.2011, 00:39 #11
bupal, а ; где после объявления структуры?
bupal
25 / 25 / 2
Регистрация: 30.03.2010
Сообщений: 343
Записей в блоге: 1
24.11.2011, 00:40  [ТС] #12
а..всё..разобрался..нужно было строку с объявлением размерности вставить в какую нибудь функцию...а я просто отдельно писал))
всем спасибо
Сыроежка
Заблокирован
24.11.2011, 00:41 #13
bupal,
В объявлении структуры после закрывающейся фигурной скобки надо ставить точку с запятой
bupal
25 / 25 / 2
Регистрация: 30.03.2010
Сообщений: 343
Записей в блоге: 1
24.11.2011, 00:42  [ТС] #14
Цитата Сообщение от Сыроежка Посмотреть сообщение
bupal,
В объявлении структуры после закрывающейся фигурной скобки надо ставить точку с запятой
да..точно))...спасибо...
вот теперь не ругается...
Сыроежка
Заблокирован
24.11.2011, 00:43 #15
bupal,
Нет, вы не правы. Объявление было на своем месте.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2011, 00:43
Привет! Вот еще темы с ответами:

Уменьшить размерность int - C++
Как уменьшить размерность int чтобы вводить только 2х значные числа? (для экономии времени и памяти) И как вычислить время, необходимое...

размерность типа Char - C++
подскажите плиз как сделать переменную типа Char очень большой размерности!!!

Увеличить размерность массива - C++
Короче такая проблема, есть массив с данными, нужно увеличить его размерность, вроде написал всё правильно, но выскакивает ошибка Debag...

Размерность матрицы в файле - C++
Здраствуйте, вот у меня кусок кода в котором я открываю файл и записываю в матрицу q на w! Хотел бы узнать, как сделать, что бы не...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.11.2011, 00:43
Ответ Создать тему
Опции темы

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