2017-02-06 7 views
0

Следующий код from Michael Dunns series on WTL не компилируетУчебник не компилирует

template <bool t_bVertical = true> 
class CMySplitterWindowT : public CSplitterWindowImpl<CMySplitterWindowT<t_bVertical>, t_bVertical> 

Первая строка ошибок: «WTL :: CSplitterWindowImpl»: «t_bVertical» не является допустимым типом аргумента шаблона для параметра «TBase»

ответ

1

WTL изменилось между 8 и 9

Базовый конструктор должен быть вызван, чтобы установить переменную-член

template <bool t_bVertical = true> 
class CMySplitterWindowT : public CSplitterWindowImpl<CMySplitterWindowT<t_bVertical> > 
{ 
public: 
    DECLARE_WND_CLASS_EX(_T("My_SplitterWindow"), CS_DBLCLKS, COLOR_WINDOW) 

    CMySplitterWindowT() : m_bPatternBar(false), CSplitterWindowImpl<CMySplitterWindowT<t_bVertical> >(t_bVertical) 
    { } 

из риого -

"Разделитель Window:

• Changed ориентации от аргумента шаблона к элементу данных, чтобы уменьшить использование памяти"

 Смежные вопросы

  • Нет связанных вопросов^_^