Ну, если еще кто-то может думать, подскажите теперь здесь про С++
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Сергей Борщ 15 апреля 2005 г. 18:39

описываю шаблон класса, которому в качестве параметра передается шаблон:


heap.h:
template < template < class > class TMemory >
class TSRAM_Heap {
public:
static TMemory < void >* Allocate(SRAMsize_t Bytes);
...
}
как теперь в heap.c++ описать шаблон функции? делаю так:
template < template class TMemory >
TMemory < void >* TSRAM_Heap::Allocate(SRAMsize_t Bytes) {
...
}
TSRAM_Heap Heap;
int main() {
Ptr[0] = Heap.Allocate(1);
}

компилится без ошибок, но при линковке говорит
Error[e46]: Undefined external "TSRAM_Heap::Allocate(SRAMsize_t)" referred in main

И в листинге действительно нет TSRAM_Heap::Allocate(SRAMsize_t). Что я делаю неправильно?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru