zoukankan      html  css  js  c++  java
  • QT中C++出现error: undefined reference to `vtable for Identity'

    以下是代码:

    class Identity{
    public:
        string m_Name;//姓名
        string m_Pwd;//密码
    
        virtual void showSubMenu();//不同身份的子菜单
    };
    class Student{
    public:
      virtual void showSubMenu();
    };
    void myLogIn(string filename, int type)
    {
        //创建父类指针——注意不是创建父类对象,而是创建父类的指针或引用
        Identity m_identity;
    }

    编译出错:

    H:Project36_reservation_systemidentity.h:5: error: undefined reference to `vtable for Identity'

    分析解决:

    父类的虚函数表没有指向子类的本应该有的虚函数表,原因是在这里创建了一个父类的对象,而父类是抽象类,无法初始化对象,解决办法是创建一个父类的指针或者引用,即Identity *m_identity。

    且父类中的虚函数要么【空实现】,要么让其【=0】。

  • 相关阅读:
    APP Https双向认证抓包
    剖析XSS
    php连接mysql
    linux去掉某一字符开头的行
    memcached+php客户端
    memcached-repcached
    memcached+memadmin
    Linux GPT分区
    Linux查看文件夹大小
    linux挂载windwos共享文件
  • 原文地址:https://www.cnblogs.com/BASE64/p/14356513.html
Copyright © 2011-2022 走看看