Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DXGetErrorString新手问题 我是C++和Direct X的新手,我想知道DxGETReRoSrand和DXGETError描述的正确用法是什么?_C++_Directx - Fatal编程技术网

DXGetErrorString新手问题 我是C++和Direct X的新手,我想知道DxGETReRoSrand和DXGETError描述的正确用法是什么?

DXGetErrorString新手问题 我是C++和Direct X的新手,我想知道DxGETReRoSrand和DXGETError描述的正确用法是什么?,c++,directx,C++,Directx,根据and,这些函数返回指向字符串的指针。然而,在我在web上看到的所有示例中,它们直接使用返回值,而不在随后释放它 例如: char buf[2048]; sprintf(buf, "Error: %s error description: %s\n",DXGetErrorString(hr),DXGetErrorDescription(hr)); 这是否意味着由于分配给错误字符串和错误描述的内存从未释放而导致内存泄漏?如果没有,如何发布 谢谢你的帮助 最有可能的情况是,函数返回一个静态字符

根据and,这些函数返回指向字符串的指针。然而,在我在web上看到的所有示例中,它们直接使用返回值,而不在随后释放它

例如:

char buf[2048];
sprintf(buf, "Error: %s error description: %s\n",DXGetErrorString(hr),DXGetErrorDescription(hr));
这是否意味着由于分配给错误字符串和错误描述的内存从未释放而导致内存泄漏?如果没有,如何发布


谢谢你的帮助

最有可能的情况是,函数返回一个静态字符串,因此它不需要被释放

这类似于编写这样的代码,您不必担心释放返回值:

PCWSTR GetErrorCode(int error)
{
    switch (error)
    {
        case 1:
          return L"File not found";
        ...
        default:
          return "Unknown error";
    }
}