我正在学习vulkan,并且在一个不寻常的步骤中遇到了一个错误“ ProjectV.exe中0x00007FF98C0D16B5(vulkan-1.dll)出现未处理的异常:0xC0000005:发生了访问冲突读取位置0x0000000000000000。” 通常我不会在此步骤遇到任何问题。在代码片段的第二行中,Ive使用countIndex变量计算了QueueFamilies的数量。我之前在创建Logical Device的另一种方法中使用了此函数,但没有收到任何错误,但是现在我这样做了。我在摘要行的cout行的第3行收到标题错误。
尽管我不应该在这样简单的步骤上出错,我什至在打印时尝试了static_cast,因为我认为数据类型会造成问题,但这也行不通。
uint32_t countIndex=0, queue_fam_index=0; VkBool32 check = VK_FALSE;
vkGetPhysicalDeviceQueueFamilyProperties(dev, &countIndex,nullptr);
std::cout << static_cast<int>(countIndex) << "\n";
std::vector<VkQueueFamilyProperties> que_fam(countIndex);
vkGetPhysicalDeviceQueueFamilyProperties(
dev,&countIndex,que_fam.data());