Значение типа SDL_Window* нельзя присвоить сущности типа vk_engine::SDL_Window*
Как я понял, проблема с моей областью имен vk_engine. Возможно это SDL недоволен чем-то, ведь если использовать GLFW, то все нормально. Проблема решается только если создавать переменную вместе с созданием окна. Проблема в следующей строке:
_window = SDL_CreateWindow(_engineApplicationName, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, _widthApplication, _heightApplication, SDL_WINDOW_VULKAN);
Вот код engineApplication.h:
#pragma once
#include <iostream>
#include <validator.h>
#include <vector>
#include <string>
namespace vk_engine {
class engineApplication {
public:
engineApplication(uint32_t widthApplication, uint32_t heightApplication);
~engineApplication();
engineApplication(const engineApplication&) = delete;
engineApplication& operator=(const engineApplication&) = delete;
uint32_t _widthApplication;
uint32_t _heightApplication;
const char* _engineApplicationName = "Hello";
void run();
void init_application();
bool shouldCloseApplication() { return true; }
private:
struct SDL_Window* _window{ nullptr };
};
}
Вот код engineApplication.cpp:
#include <engineApplication.h>
#include <SDL.h>
#include <SDL_vulkan.h>
#include <iostream>
namespace vk_engine {
engineApplication::engineApplication(uint32_t widthApplication,
uint32_t heightApplication) :
_widthApplication(widthApplication),
_heightApplication(heightApplication)
{
init_application();
}
void engineApplication::run()
{
}
void engineApplication::init_application()
{
SDL_Init(SDL_INIT_VIDEO);
_window = SDL_CreateWindow(_engineApplicationName, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, _widthApplication, _heightApplication, SDL_WINDOW_VULKAN);
//validator::check_condition(false, "");
}
engineApplication::~engineApplication()
{
}
}