繁体   English   中英

C ++-“不允许不完整的类型”错误是什么意思,我该如何解决?

[英]C++ - What does “Incomplete type not allowed” error mean, and how can I fix it?

尽管我已经看到很多关于C ++中“不允许输入不完整类型”错误的问题,但我仍然无法弄清楚编译器在向我这样大叫时试图告诉我什么。 我已经能够弄清楚它与#include -ing头文件有关,但是对于“不完整类型”是什么以及为什么“不允许”它一无所知。 尝试从SDL_Window继承时出现错误:

#pragma once
#include "SDL.h"

class Window : public SDL_Window
{
public:
  Window();
  ~Window();
};

有人可以向我解释该错误是什么意思,如何(通常)修复它,就我而言,我应该怎么做才能阻止它发生?

C ++-“不允许不完整的类型”错误是什么意思

类型不完整意味着没有定义SDL_Window类型。

该错误表示该类型不完整,并且在该上下文中不允许使用不完整的类型。 在这种特殊情况下:不完整的类型不能用作基类。

我应该怎么做才能阻止它的发生?

不要尝试将SDL_Window用作基类-不应以这种方式使用它。

SDL_Window旨在用作不透明的指针。 某些SDL函数可能会返回SDL_Window* 您可以存储它,并将其作为参数发送给其他SDL函数。 这就是它的全部用途。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM