![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Как лучше реализовать такую штуку? Пробывал define так потом нельзя доступиться к переменным. Короче мне нужно огбьявить размер масива и сам масив, конечно, чтобы я потом смог получиь данный размер, в плане как переменная класа. -------------------- Never again... |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Оно? Хотя жестко размер ты не сможешь задать при создании.. Это сообщение отредактировал(а) chipset - 28.3.2005, 20:24 --------------------
|
||||
|
|||||
| Nuzur |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Нет не то. У меня свой клас. И там нужно разместить массив, например целых чисел. Как это сделать чтобы размер масива была членом класса. Тобиш примерно так Const int size; int array[size] Сорри если как-то не так выразился. -------------------- Never again... |
||||
|
|||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Так? Ну можно ещё size запихнуть в класс. Это сообщение отредактировал(а) chipset - 28.3.2005, 20:54 --------------------
|
||||
|
|||||
| Nuzur |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
const int size = 10; int array[size]; c:\program files\microsoft visual studio\myprojects\skb_rhytm\karavayevidachi\xsender\control.h(42) : error C2258: illegal pure syntax, must be '= 0' c:\program files\microsoft visual studio\myprojects\skb_rhytm\karavayevidachi\xsender\control.h(42) : error C2252: 'size' : pure specifier can only be specified for functions c:\program files\microsoft visual studio\myprojects\skb_rhytm\karavayevidachi\xsender\control.h(43) : error C2065: 'size' : undeclared identifier c:\program files\microsoft visual studio\myprojects\skb_rhytm\karavayevidachi\xsender\control.h(43) : error C2057: expected constant expression c:\program files\microsoft visual studio\myprojects\skb_rhytm\karavayevidachi\xsender\control.h(43) : warning C4200: nonstandard extension used : zero-sized array in struct/union c:\program files\microsoft visual studio\myprojects\skb_rhytm\karavayevidachi\xsender\control.h(53) : error C2229: class 'IoControl' has an illegal zero-sized array Так что-ли? -------------------- Never again... |
||||
|
|||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Ты что-то неправильно делаешь, покажи тот код который ты компилировал.
Вот:
Компилицца и не жужжит, компилер VC7.1. --------------------
|
||||
|
|||||
| Nuzur |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Ну ты что издеваешся? Если константа за пределами класа компилиться нормально, и я про ЭТО знаю. Ты, простите вы, внесите константу в класс....и полезут ероры. у меня VC++ 6.0 П.С. Я попробовал с внешней константой и все сработало. Но меня так не устраивает поскольку мне нужно знать размер масссссива с которым мне потом прийдеться рАботать. Предупреждаю лишнее прения и последующие непонятки. -------------------- Never again... |
||||
|
|||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Продолжаем извращения и делаем так: ;P
Это сообщение отредактировал(а) chipset - 28.3.2005, 21:48 --------------------
|
||||
|
|||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Те же, входит Гамлет:
: error C2258: illegal pure syntax, must be '= 0' : error C2252: 'size' : pure specifier can only be specified for functions : error C2065: 'size' : undeclared identifier : error C2057: expected constant expression : warning C4200: nonstandard extension used : zero-sized array in struct/union : error C2229: class 'IoControl' has an illegal zero-sized array Короче так тоже не фурычит! А по компилятору ты не прав жужжжит и матом кроет -------------------- Never again... |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
А причем тут IoControl? Какой у тебя компилер? --------------------
|
||||
|
|||||
| Nuzur |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
IoControl имя моего класа. И не уходите от темы..... Хотите мне мозги запудрить чтобы я про сабж забыл Суть там не в названии класса, он копилиться и РАБОТАЕТ отлично, но с масивом он бы стал лучше Он даже компилиьтся с внешней константой. Но когда я делаю, деже static const int size = 10; он уже ругаеться : error C2258: illegal pure syntax, must be '= 0' : error C2252: 'size' : pure specifier can only be specified for functions -------------------- Never again... |
||||
|
|||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Ещё раз повторю:
Компилится как на VC7.1, так и на gcc. Можете проверить.. Что у вас там написано, я знать не могу... Это сообщение отредактировал(а) chipset - 28.3.2005, 22:12 --------------------
|
||||
|
|||||
| Nuzur |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Раз Присоединённый файл ( Кол-во скачиваний: 4 )
Screen.JPG-------------------- Never again... |
||||
|
|||||
| Nuzur |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Два Присоединённый файл ( Кол-во скачиваний: 5 )
ForChipset.rar-------------------- Never again... |
||||
|
|||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Что ещё раз потверждает что VC6 mustdie. Он плохо поддерживает стандарт..
Почему не хочешь использовать вектор? Это сообщение отредактировал(а) chipset - 28.3.2005, 22:43 --------------------
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |