реклама на сайте
подробности

 
 
> C++ c шаблонами, нужен шаблонный маг!
esaulenka
сообщение Jan 15 2016, 08:25
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Заткнулся на одной задачке. CortexM3, GCC.

Есть структура во флеше с настройками. Адрес структуры зафиксирован линкером.
Запись настроек производится однократно, в произвольном порядке.

Для облегчения записи сделал класс

Код
CFwSetting {
public:
static bool IsPresent () { ... }
static bool Write (const void * data) { ... }
static bool Compare (const void * data) { ... }
};


Теперь пытаюсь сделать его шаблонным, чтобы использовать для каждого поля:
Код
template <int Addr, int Len>
class CFwSetting_Base {
...
};

typedef CFwSetting_Base <(int)&Settings.SerialNumber, sizeof(Settings.SerialNumber)>        CFwSerial;


Проблем две:
1) оно в принципе не работает. Компилятор говорит "не знаю я адрес твоей структуры!". Если адрес вбить константой, работает. Но некрасиво...

2) некрасиво указывать название поля два раза - для адреса и для размера.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 10:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016