gpt4 book ai didi

c++ - 未定义基类?

转载 作者:太空宇宙 更新时间:2023-11-04 12:14:55 26 4
gpt4 key购买 nike

我已经看过一篇关于该错误的帖子,但这有些不同。所以请不要关闭它。我有一个接口(interface)类,我有一个继承接口(interface)类并覆盖接口(interface)类中的方法的类。代码看起来像这样

//interface file
//Interface.h
class A
{
virtual method1();
};


//b.h
#include "Interface.h"
class B : public A
{
//declaration
}

//b.cxx
#include b.h
B::method1()
{
//definition
}

我正在将所有这些类导出到一个 dll 中。我在 exe 的 dll 中使用方法和类。此 exe 再次包含一些类。这些类再次继承相同的接口(interface)文件并使用method1()。所以要使用 method1() 我在我的文件中包含了 b.h。如果我的 include 语句的顺序是 Interface.h 和 b.h,那么我会收到 exe 的编译器错误。提示“未定义基类”。但是,如果我重新排序 Include 语句,则不会出现编译错误。任何人都可以告诉我这个问题的基本原因是什么。

最佳答案

您的示例代码实际上有两个错误:首先,您没有声明没有返回类型的方法,这是一个错误。第二个是,至少在上面的代码片段中,您没有在 B 的类定义中声明 method1:

class B : public A
{
virtual void method1();
};

关于c++ - 未定义基类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8147603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com