zoukankan      html  css  js  c++  java
  • undefined reference to typeinfo

    undefined reference to typeinfo - C++ error message


    There are some compiler and loader error messages that shout obviously as to their cause, but there are others that simply don't give the new user much of an indication as to what's really wrong. And most of those I get to know pretty quickly, so that I can whip around a room during a course, making suggestions to delegate to check for missing ; characters or double quotes, to check that they have used the right type of brackets for a list subscript and haven't unintentionally written a function call, etc.

    Here's one of the more obscure messages from the Gnu C++ compiler - or rather from the loader:

    g++ -o polygon shape.o circle.o square.o polygon.o
    circle.o(.gnu.linkonce.r._ZTI6Circle+0x8): undefined reference to `typeinfo for Shape'
    square.o(.gnu.linkonce.r._ZTI6Square+0x8): undefined reference to `typeinfo for Shape'
    polygon.o(.gnu.linkonce.t._ZN5ShapeC2Ev+0x8): In function `Shape::Shape()':
    : undefined reference to `vtable for Shape'
    collect2: ld returned 1 exit status


    And you can be scratching you head for hour over that one!

    The error? shape.o contains a base class from which classes are derived in circle.o and square.o .. but virtual function(s) in shape's definition are missing null bodies.

    The fix? You've got line(s) like
    virtual float getarea() ;
    that should read
    virtual float getarea() {}

    这个错误解决了

  • 相关阅读:
    C# 搜狗链接网址转换为真实网址
    C# 百度链接网址转换为真实网址
    RegexHelper
    IEnumerable<sting>串联成一个字符串
    List<T> 深度拷贝
    makecert.exe eku OID
    Wisej & MVC & WebApi 基架搭建
    彻底关闭Win10自动更新的代码
    SpringBoot-LayUI之性别展示
    【】SpringBoot-LayUI之动态表格
  • 原文地址:https://www.cnblogs.com/jiu0821/p/5855306.html
Copyright © 2011-2022 走看看