Re: WTL и параметризованные классы
От: bnk СССР http://unmanagedvisio.com/
Дата: 14.08.07 13:32
Оценка:
Здравствуйте, abrec, Вы писали:

A>На этапе линковки ошибка LNK2019 не найдена реализация OnInsertColumn базового класса.

A>При переносе реализации в H-файл все нормально. Единственное неудобно — на каждый чих в реализации начинают перекомпилироваться все CPP-файлы, куда заинклуден этот H-файл.
A>Подскажите — есть выход из этой ситуации?
A>Спасибо.

Нету. Это плата за использование шаблонов.
Компилятор должен видеть реализацию в месте инстанциирования шаблона.
Реализация в отдельном файле допускается для конкретного класса.
Т.е. уберите все template<> c вашего класса — тогда пожалуйста:

// h
class CMySimpleGridCtrlImpl : 
    public CWindowImpl<CMySimpleGridCtrlImpl>,
    public CCustomDraw< CMySimpleGridCtrlImpl <T, TBase, TWinTraits > >,
    public CMessageFilter

    LRESULT OnInsertColumn(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled);

// cpp
LRESULT CMySimpleGridCtrlImpl::OnInsertColumn(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled)


ЗЫ. для кода на C++ можно использовать тэг [cpp]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.