Ash*_*h24 2 c guid visual-studio-2010
我正在使用 Visual Studio 2010 的 C 程序。我需要创建 GUID,然后进行比较。
我在我的程序中包含“#include guiddef.h”。
以下是代码片段,但在编译代码时我不断收到错误消息。
//mainGUID is assign value in the program
GUID mainGUID;
//Function call which compares passed GUID with the mainGUID
int CheckGUID(GUID guid)
{
if(IsEqualGUID(guid,mainGUID))
return 1;
else
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Error 3 error C2172: 'memcmp' : actual parameter is not a pointer : parameter 1
Error 3 error C2172: 'memcmp' : actual parameter is not a pointer : parameter 2
Run Code Online (Sandbox Code Playgroud)
不知道发生了什么。
该函数IsEqualGUID接受REFGUID参数:
BOOL IsEqualGUID(
_In_ REFGUID rguid1,
_In_ REFGUID rguid2
);
Run Code Online (Sandbox Code Playgroud)
而 aREFGUID是typedef GUID* REFGUID。所以你可能会逃脱:
IsEqualGUID(&guid, &mainGUID)
^ ^
Run Code Online (Sandbox Code Playgroud)
警告讲师:我真的没有任何经验IsEqualGUID,这都是来自 MSDN(错误消息也指向这一点,是的)。