我正在从Visual Studio 2010开发一个C程序。我需要创建GUID然后进行比较。
我包括#34; #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;
}
我收到以下错误
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
不确定发生了什么。
答案 0 :(得分:4)
函数IsEqualGUID
需要REFGUID
个参数:
BOOL IsEqualGUID(
_In_ REFGUID rguid1,
_In_ REFGUID rguid2
);
REFGUID
是typedef GUID* REFGUID
。所以你可能会逃脱:
IsEqualGUID(&guid, &mainGUID)
^ ^
警告:我对IsEqualGUID
没有任何经验,这一切都来自MSDN(错误信息也指向了这个,是的)。