Erstellen eines Zeigers auf eine SDL_Window-Struktur und Zuweisen zu einem shared_ptr, der genannte Fehler resultiert.Ungültige Anwendung von 'sizeof' auf unvollständigen Typ 'SDL_Window'
Ein Teil der Klasse:
#include <SDL2/SDL.h>
class Application {
static std::shared_ptr<SDL_Window> window;
}
Definition:
#include "Application.h"
std::shared_ptr<SDL_Window> Application::window{};
bool Application::init() {
SDL_Window *window_ = nullptr;
if((window_ = SDL_CreateWindow(title.c_str(),
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
window_width,
window_height,
NULL)
) == nullptr) {
std::cerr << "creating window failed: " << SDL_GetError() << std::endl;
}
window.reset(window_);
}
Der Fehler erscheint bei 'window.reset()'. Was ist der Grund und wie kann dieses Verhalten behoben werden?
Vielleicht nicht verwandten, aber haben Sie nicht über SDL_DestroyWindow statt löschen freizugeben? – PlasmaHH