为什么D将此函数标记为纯nothrow@nogc? 别名PFN_vkDebugReportCallbackEXT= VkBool32函数(VkDebugReportFlagsEXT标志, VkDebugReportObjectTypeEXT objectType, uint64对象、大小和位置, int32_t消息代码,常量字符*pLayerPrefix, 常量字符*pMessage,void*pUserData); 结构VkDebugReportCallbackCreateInfoEXT{ VkStructureType sType=VkStructureType.VK\结构\类型\调试\报告\回调\创建\信息\外部; 常数(无效)*pNext; VkDebugReportFlagsEXT标志; PFN_vkdebugreportcallback下一个pfnCallback; void*pUserData; }

为什么D将此函数标记为纯nothrow@nogc? 别名PFN_vkDebugReportCallbackEXT= VkBool32函数(VkDebugReportFlagsEXT标志, VkDebugReportObjectTypeEXT objectType, uint64对象、大小和位置, int32_t消息代码,常量字符*pLayerPrefix, 常量字符*pMessage,void*pUserData); 结构VkDebugReportCallbackCreateInfoEXT{ VkStructureType sType=VkStructureType.VK\结构\类型\调试\报告\回调\创建\信息\外部; 常数(无效)*pNext; VkDebugReportFlagsEXT标志; PFN_vkdebugreportcallback下一个pfnCallback; void*pUserData; },d,D,VkBool32 MyDebugReportCallback( VkDebugReportFlagsEXT标志, VkDebugReportObjectTypeEXT objectType, uint64_t对象, 尺寸和位置, int32_t消息代码, 常量字符*pLayerPrefix, const char*pMessage, void*pUserData) { 返回VK_FALSE; } 自动调试CallbackCreateInfo=VkDebugReportCallbackCreate

VkBool32 MyDebugReportCallback(
VkDebugReportFlagsEXT标志,
VkDebugReportObjectTypeEXT objectType,
uint64_t对象,
尺寸和位置,
int32_t消息代码,
常量字符*pLayerPrefix,
const char*pMessage,
void*pUserData)
{
返回VK_FALSE;
}
自动调试CallbackCreateInfo=VkDebugReportCallbackCreateInfoEXT(
VkStructureType.VK_结构_类型_调试_报告_回调_创建_信息_扩展,
无效的
VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_ERROR_BIT_EXT,
&MyDebugReportCallback,
无效的
);
错误:无法隐式转换表达式(&MyDebugReportCallback) uint函数的类型(uint标志,VkDebugReportObjectTypeEXT objectType、ulong对象、ulong位置、int messageCode、, 常量(char*)pLayerPrefix,常量(char*)pMessage,void*pUserData)到 uint函数(uint标志、VkDebugReportObjectTypeEXT objectType、ulong 对象,ulong位置,int messageCode,常量(char*)pLayerPrefix, const(char*)pMessage,void*pUserData)pure nothrow@nogc


我不明白为什么
PFN_vkDebugReportCallbackEXT
是纯粹的nothrow和@nogc?我只想在
MyDebugReportCallback
中调用
writeln
,答案很明显。它是在一个纯的、nothrow和@nogc块中


答案很明显。它是在一个纯的、nothrow和@nogc块中


但它为什么会在那里?我认为这是用户的错误。。。回调可能不需要是那些东西,作者只是没有将定义放在正确的位置。@AdamD.Ruppe是的,我已经打开了一个问题,但为什么会出现?我认为这是用户的错误。。。回调可能不需要是那些东西,作者只是没有将定义放在正确的位置。@AdamD.Ruppe是的,我已经打开了一个问题,