Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
09.06.2010, 13:10
|
|
Вид на жительство
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Ошибки компиляции в MPLAB
Пытаюсь создать константное соответствие букв и чисел.
struct perevod{char symbol; int cod;};
const perevod slovar[6]={
{'S', 32},
{'O', 56},
{'E', 90},
{'M', 18},
{'T', 52},
{' ', 95}
};
Компилятор ваыдаёт сотню однотипных ошибок, типа: Expecting a declaration
Причём в BorlandC++3.0 всё компилируется нормально и программа работает.
А тут как?
|
|
|
|
09.06.2010, 13:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Re: Ошибки компиляции в MPLAB
Не знаю, что у Вас за компилятор. А так ?
Код:
|
typedef struct
{
char symbol;
char cod;
}perevod;
const perevod slovar[6]={{'S', 32},
{'O', 56},
{'E', 90},
{'M', 18},
{'T', 52},
{' ', 95}}; |
|
|
|
|
09.06.2010, 13:43
|
|
Вид на жительство
Регистрация: 12.04.2007
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
|
Re: Ошибки компиляции в MPLAB
Сообщение от yellow87
|
Expecting a declaration
|
Дословно "Ожидается объявление"...
Так как в BorlandC++ это нормально компилится, а тут с нет, вывод - читайте Help по особенностям объявления массивов/структур для Вашего компилятора...
__________________
Гидравлика + электроника = POWER
|
|
|
|
09.06.2010, 13:53
|
|
Прописка
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
|
Re: Ошибки компиляции в MPLAB
Код:
|
struct perevod{char symbol; int cod;};
const struct perevod slovar[6]={
{'S', 32},
{'O', 56},
{'E', 90},
{'M', 18},
{'T', 52},
{' ', 95}
}; |
А чтобы не возникало таких вопросов, нужно пользоваться typedef
|
|
|
|
09.06.2010, 18:22
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: Ошибки компиляции в MPLAB
Сообщение от testerplus
|
А чтобы не возникало таких вопросов, нужно пользоваться typedef
|
+1000!...............
|
|
|
|
09.06.2010, 18:27
|
|
Вид на жительство
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Re: Ошибки компиляции в MPLAB
Получилось и по первому совету и по второму!
И ещё вот так компилиться:
struct perevod{char symbol; int cod;}
slovar[6]= {
'S', 326,
'O', 565,
'E', 904,
'M', 188,
'T', 527,
' ', 955
};
Так даже скобок меньше. Ну да ладно. Всем спасибо за рабочие ответы. ![Весело](images/smilies/icon_laugh.gif)
Дальше простое дело:
Есть у меня какой-то символ, я определяю в цикле его совпадение с symbol и если совпадает, то знаю числовой код. А как этот код из функции определения вернуть в виде строки? IntToStr
|
|
|
|
09.06.2010, 21:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Ошибки компиляции в MPLAB
Сообщение от yellow87
|
И ещё вот так компилиться
|
Как уже сказали выше, через объявление типа правильнее, и с переносимостью проблем не будет.
Сообщение от yellow87
|
как этот код из функции определения вернуть в виде строки?
|
В виде строки - если имеется в виду " Null-terminated string", то только через указатель на глобальный массив, либо возвращаете сам код в виде charа, а \0 добавляете потом, в другом месте.
Последний раз редактировалось AJScorp; 09.06.2010 в 21:36.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:58.
|
|