Bonjour,
J'ai un problème avec l'initialisation du nom des extensions actives dans mon instance Vulkan.
J'aimerais utiliser un std::vector mais cela cause un problème.
Est-ce que quelqu'un saurait m'expliquer ce que je fais mal?

Voici le code :

Code:
VkInstanceCreateInfo instanceInfo2{};
instanceInfo2.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
instanceInfo2.pApplicationInfo = appInfo;

uint32_t extensionsCount = 0;
const char** extensionsGLFW = glfwGetRequiredInstanceExtensions(&extensionsCount);
std::vector<const char*>extensionsRequired(extensionsGLFW, extensionsGLFW + extensionsCount);

instanceInfo2.enabledExtensionCount = extensionsCount;
//instanceInfo2.enabledExtensionCount = static_cast<uint32_t>(extensionsRequired.size());
instanceInfo2.ppEnabledExtensionNames = extensionsGLFW ;
//instanceInfo2.ppEnabledExtensionNames = extensionsRequired.data();
Ici pas de problème mon instance se crée sans problème.

Lorsque je remplace
Code:
instanceInfo2.enabledExtensionCount = extensionsCount;
par
Code:
instanceInfo2.enabledExtensionCount = static_cast<uint32_t>(extensionsRequired.size());
tout fonctionne très bien.

Cependant lorsque je tente de remplacer
Code:
instanceInfo2.ppEnabledExtensionNames = extensionsGLFW ;
par
Code:
instanceInfo2.ppEnabledExtensionNames = extensionsRequired.data();
J'obtiens l'erreur suivante: VK_ERROR_EXTENSION_NOT_PRESENT