error C2504: 未定义基类

Posted Curnane

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error C2504: 未定义基类相关的知识,希望对你有一定的参考价值。

出错的情况为:

type.h 文件中定义了一个结构体,但只给出了声明

namespace pcl
{
    struct CSDDSignature;
}

其定义在type.hpp文件中给出

namespace pcl
{
    struct CSDDSignature
    {
        float histogram[111];
    };
}

在do.h文件中使用该结构体时,只包含了type.h文件,此时报错:未定义基类

解决方法:

在do.h文件中使用文件外定义的结构体时,需要看到定义,不能只是声明。

此类错误在派生类的头文件也经常因为类似原因而经常出现。

以上是关于error C2504: 未定义基类的主要内容,如果未能解决你的问题,请参考以下文章

错误 C2504:'BASECLASS':基类未定义

带有前向声明的循环包含和继承导致 C2504 基类未定义

Qt - moc 导致 C2504:基类未定义

基类未捕获 C++ 派生类异常

getSupportFragmentManager() 在活动扩展片段中未定义

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段