[uquote="Shrike1987",url="/forum/viewtopic.php?p=3323056#p3323056"]
..\Src\Font.c(51): error: #513: a value of type "const t_point *" cannot be assigned to an entity of type "t_point *"[/uquote]
1. Идём на
https://translate.google.com/#en/ru;
2. Переводим текст ошибки с аспергерского на русский:
error: # 513: значение типа "const t_point *" не может быть присвоено сущности типа "t_point *";
3. Осознаем, что тому кто "слева" неприемлемо значение предлагаемое тем кто "справа";
4. Есть два варианта - либо меняем тип "левого" на const t_point*, либо то, что отдают справа насильно считаем типом t_point* (т.е фактически read-only данные считаем возможным модифицировать);
Впрочем это вам уже объяснили и без меня - остается лишь добавить что const - это указание компилятору считать данные неизменяемыми и он, обладая этим знанием, может оптимизировать работу с ними, сэкономив, к примеру оперативную память, обращаясь напрямую к данным из флеш. Но за такими деталями - это вам к специалистам по используемой вами платформе.
Т.е. если вы не планируете менять данные "шрифта" во время выполнения программы - оставляйте их const, если-же нужно менять - придётся определить некий максимум для размера данных символа - и оперировать в его пределах. Ну и поудалять модификаторы const. Примерно так:
Код: Выделить всё
#define MAX_CHAR_DATA 32
// [омномномном]
// при таком способе инициализации данные массива добиваются нулями до размера 32 (MAX_CHAR_DATA)
t_point ch56[MAX_CHAR_DATA] = { 0x10, 0x30, 0x41, 0x42, 0x33, 0x44, 0x45, 0x36, 0x16, 0x05, 0x04, 0x13, 0x02, 0x01, 0x10, BRK, 0x13, 0x33, EOL } ;
// [омномномном]
const struct TFont {
t_point *Line;
} Font[255] = {
ch00, ch01, ch02, и.т.д, и т.д..... , ch56, ch57,
};
Резюмирую обеими руками за вариант:
[uquote="da-nie",url="/forum/viewtopic.php?p=3323104#p3323104"]const t_point* p0 = NULL;
const t_point* p = NULL;[/uquote]
А вот, в силу вышеобъяснённого, снимать константность
[uquote="da-nie",url="/forum/viewtopic.php?p=3323104#p3323104"]при приравнивании p0 = (t_point *) Font[C].Line и в других местах тоже[/uquote]
после столь любовного расставления этого модификатора на всех данных шрифта я бы не стал.
