栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++子类继承父类模板化在vs2017、2019中的问题1

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++子类继承父类模板化在vs2017、2019中的问题1

看下面的代码:

#include

template

class CListEx :public CList {
public:
    void Sort() {
        CNode* p = m_pNodeHead,*p1,*p2;
        for (; p; p = p->pNext) {
            p1 = p->pNext, p2 = p;
            for (; p1; p1 = p1->pNext) {
                if (p1->data > p2->data)
                    p2 = p1;
            }
            if (p2 != p) {
                auto t = p2->data;
                p2->data = p->data;
                p->data = t;
            }
        }
    }
};

在vs2015中运行没问题,在vs2017和vs2019中 编译CNode和m_pNodeHead会提示找不到标识符。

解决方法如下:

struct CList::CNode* p = this->m_pNodeHead,*p1,*p2;
至于出现问题的原因,通俗讲是子类作为儿子,需要规规矩矩的,否则老子的东西不给你用。       

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/879045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号