以下代码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'的有效模板类型参数

最佳答案

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)
    { }


从自述文件中-

“拆分器窗口:

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

关于c++ - 教程无法编译,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42065560/

10-11 16:08