Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2014, 19:04   #1
stslam
Пользователь
 
Регистрация: 21.01.2014
Сообщений: 12
По умолчанию Как обойти ошибку (инициализация структур/классов, имеющих свойства)

Как только структура объявлена с ключевым свойством property - так сразу исчезает возможность ее инициализации (более полный код, поясняющий мысль - в конце).

sTest1 predef1[] = {
{enm_a_1}, {enm_a_2}, {enm_a_undef}
};//Работает

sTest2 predef2[] = {
{enm_a_1}, {enm_a_2}, {enm_a_undef}
};//Ошибка, отличие только в наличии свойства в теле объявления sTest2.

Как обойти? (не работает, начиная с версий старше BCB 6)


enum enm_a {
enm_a_undef, enm_a_1, enm_a_2, enm_a_end
};

struct sTest1 {
enm_a Val1;
}; //good structure

struct sTest2 {
enm_a Val1;
__property enm_a a = {read = Val1};
};//BAD structure

sTest1 predef1[] = {
{enm_a_1}, {enm_a_2}, {enm_a_undef}
};//ALL OK

sTest2 predef2[] = {
{enm_a_1}, {enm_a_2}, {enm_a_undef}
};//[bcc32 Error]


метод Init не предлагать.
stslam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Инициализация вложенных структур в Delphi calypso Общие вопросы Delphi 1 07.08.2013 20:27
Инициализация структур с перечислениями MrGukk Общие вопросы C/C++ 14 09.08.2012 13:23
DiretX графика. Инициализация. Как исправить ошибку? Ibanez Wizard Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 12.08.2011 01:06
Indy. Как обойти ошибку 403. viktorall Работа с сетью в Delphi 2 27.03.2010 00:52
DOA компоненты, как обойти ошибку? cherry25 БД в Delphi 6 10.03.2009 13:26