教程不编译

时间:2017-02-06 10:32:16

标签: c++ wtl

以下代码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 个答案:

答案 0 :(得分: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)
    { }

来自自述文件 -

“拆分器窗口:

•将模板参数的方向更改为数据成员以减少内存使用“