powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Static array 2d
16 сообщений из 16, страница 1 из 1
Static array 2d
    #34202873
bemtaill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В классе есть две статические константы:

Код: plaintext
1.
2.
static const int MAX_LUN;
static const int MAX_CHAN;
Необходимо определить в этом же классе статический массив
Код: plaintext
static ALLVTU *vtues[][];
размером MAX_LUN на MAX_CHAN.

Просто объявить его в хидере как static ALLVTU *vtues[][], а потом в cpp написать
Код: plaintext
1.
ALLVTU * 
ALLVTU::vtues[MAX_LUN][MAX_CHAN];
нельзя. Ругается что необходимо указать все размерности массива, кроме первой, при объявлении...
Написать в хидере ALLVTU *vtues[MAX_LUN][MAX_CHAN]; тоже нельзя т.к. эти переменные еще не инициализированы.
Как быть?
...
Рейтинг: 0 / 0
Static array 2d
    #34202882
bemtaill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bemtaill...тоже нельзя т.к. эти переменные еще не инициализированы...

В смысле константы...
...
Рейтинг: 0 / 0
Static array 2d
    #34202930
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего не дефайны?
...
Рейтинг: 0 / 0
Static array 2d
    #34202949
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильного ответа не знаю, а я бы сделал new.
...
Рейтинг: 0 / 0
Static array 2d
    #34202953
bemtaill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhА чего не дефайны?
Эти константы потом используются отдельно еще... не только при объявлении. Ну а про дефайны много чего плохого было сказано, поэтому все же хочется через статик константы сделать...
...
Рейтинг: 0 / 0
Static array 2d
    #34202968
bemtaill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой ВэйПравильного ответа не знаю, а я бы сделал new.
не понял. new это как?
...
Рейтинг: 0 / 0
Static array 2d
    #34202971
bemtaill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bemtaill Ой ВэйПравильного ответа не знаю, а я бы сделал new.
не понял. new это как?
а понял:)
...
Рейтинг: 0 / 0
Static array 2d
    #34203034
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть предложение задефайнить значения статических констант. Эти же дефан вставить в размерность массива.

> Эти константы потом используются отдельно еще... не только при объявлении

Константы еще будут использоваться уже без помощи дефайна

> Ну а про дефайны много чего плохого было сказано

Оговорена ограниченность использования дефайнов, ничего страншного в этой области нет. Дать ему страшное, или очень страшное имя, чтобы никогда ни на что не наложилось.
...
Рейтинг: 0 / 0
Static array 2d
    #34203409
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если так?
Код: plaintext
static ALLVTU ***vtues;
...
Рейтинг: 0 / 0
Static array 2d
    #34203416
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ALLVTU * ALLVTU::vtues=NULL;
:)
...
Рейтинг: 0 / 0
Static array 2d
    #34203994
bemtaill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhЕсть предложение задефайнить значения статических констант. Эти же дефан вставить в размерность массива.

> Эти константы потом используются отдельно еще... не только при объявлении

Константы еще будут использоваться уже без помощи дефайна

> Ну а про дефайны много чего плохого было сказано

Оговорена ограниченность использования дефайнов, ничего страншного в этой области нет. Дать ему страшное, или очень страшное имя, чтобы никогда ни на что не наложилось.

Угу. Наверно так и сделаю. Спасибо.

2 maXmo: через указатель тоже мона, я просто думал как бы так с константами:)
...
Рейтинг: 0 / 0
Static array 2d
    #34204151
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чего с константами?
...
Рейтинг: 0 / 0
Static array 2d
    #34204170
bemtaill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoчего с константами?
Ну сделать не через new (я так понимаю вы предлагаете объявить в классе указатель, а потом создать массив когда уже константы получат свои значения), а сделать массив у которого размеры опрделяются константами.

или мы друг друга не поняли?
...
Рейтинг: 0 / 0
Static array 2d
    #34204215
чего с константами?

а в чем проблема-то?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
class A
{
	static const int _lim1 =  1 , _lim2 =  2 ;
	static const int _arr[_lim1][_lim2];
};

//если компилятор не понимает вышеуказанного, то такой трюк:

class B
{
	enum { _lim1 =  1 , _lim2 =  2  };
	static const int _arr[_lim1][_lim2];
};

...
Рейтинг: 0 / 0
Static array 2d
    #34206675
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bemtaillНу сделать не через newесли тебе нужен настоящий 2D массив, его второй размер должен быть известен сразу или тебе придётся извращаться при его использовании. Это очевидно, если знать, как устроены и работают двумерные массивы. Вложенный массив формируется лапками через new.
...
Рейтинг: 0 / 0
Static array 2d
    #34206679
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну собственно, чтобы выделить память под весь массив, должны быть известны все его размеры.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Static array 2d
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]