Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Pe028 expression must have a constant value
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
10199
заголовочный файл:
------------
typedef char * string;
extern string zzz[5];

typedef struct abc
{
string * arr;
int k;
}_abc;

extern _abc bca;
------------
инициализируем:
static string zzz[5] = {"abc ","bbqqeqwc ","cbcggfgdgd ","dfffbc ","ebc "};
extern _abc bca = { &zzz[0],5};
------------
так все работает.

но если сделать чтото вроде
string a; //.h
string a = "abc";//init
static string zzz[5] = {a,a,a,a,a};

то получаем ошибку компиляции. пробовал и extern string a, и const string a, и static string a - не помогает.

не понимаю, где ошибка.
XVR
Попробуйте static const char* a="abc";
10199
попробовал, тоже самое.
iar 6.10 for arm, на всякий случай.

upd. вот тут обсуждается похожая проблема.
и действительно, если заменить
string a; //.h
string a = "abc";//init

на
static const char a[5];
static const char a[5] = "aa";

то инициализация
static string zzz[5] = {a,a,a,a,a};

работает.

чем же ему константный указатель не нравится
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.