Here's my issue: When I set visual studio to release mode, i get an access violation exception when trying to call one of Vulkan's vkCreate functions. I've read around, and I'm guessing that the problem is caused by uninitialized variables. However, I have very few variables and they all seem to have a valid memory location. Am I misunderstanding a valid memory location as a default-initialized variable? Here's a screenshot to accomodate what I'm trying to explain: screenshot.
On the right, you can see the console output of the two std::cout I put in for debugging. I dereference the variables to get their memory location, and they clearly exist. However, when I call the function, it's as if I am dereferencing a null pointer. What could this be caused by?
On debug mode, I have a different issue (and it's probably of the same kind), since it's also an access violation reading some memory location. I think understanding why the release mode bug happens will help me fix the other one, too. I'm just very lost, because I don't even know what to google (googling the exception didn't net any results).
here's what i think is the most relevant code: https://pastebin.com/gYBxtYzz (since my code is already quite large)
you can see how i initialize the m_instance in the header part, the constructor in the .cpp part and then the actual problematic function is at the very bottom of the .cpp part
edit: the reason i post here is because it has little to do with vulkan and a lot to do with my misunderstanding of c++, im guessing i am making a basic mistake somewhere in my code