虽然我已经看到很多问题提到 C++ 中的“Incomplete type not allowed”错误,但我仍然无法弄清楚编译器在像这样对我尖叫时试图告诉我什么。我已经能够拼凑出它与 #include
-ing 头文件有关,但我对什么是“不完整类型”以及为什么“不允许”一无所知.尝试从 SDL_Window
继承时出现错误:
#pragma once
#include "SDL.h"
class Window : public SDL_Window
{
public:
Window();
~Window();
};
有人可以向我解释错误的含义、如何(通常)修复它,以及在我的情况下,我应该怎么做才能阻止它发生?
最佳答案
C++ - What does “Incomplete type not allowed” error mean
不完整的类型意味着SDL_Window
类型没有定义。
错误意味着类型不完整,并且在该上下文中不允许使用不完整的类型。在这种特殊情况下:不完整的类型不能用作基类。
what I should do to stop it from happening?
不要尝试将 SDL_Window
用作基类 - 它不应以这种方式使用。
SDL_Window
旨在用作不透明指针。某些 SDL 函数可能会返回一个 SDL_Window*
。您可以存储它,并将其作为参数发送给其他 SDL 函数。这就是它的用途。
关于C++ - "Incomplete type not allowed"错误是什么意思,我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49354611/