我正在努力将一个类似的代码串放入一个头文件中,以便多个.cpp文件可以使用bool.将此添加到我的程序后我遇到了问题并希望得到一些帮助.
这是代码:
BOOL IsUserAdmin(VOID)
{
BOOL b;
SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
PSID AdministratorsGroup;
b = AllocateAndInitializeSid(
&NtAuthority,
2,
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0,
&AdministratorsGroup);
if(b)
{
if (!CheckTokenMembership( NULL, AdministratorsGroup, &b))
{
b = FALSE;
}
FreeSid(AdministratorsGroup);
}
return(b);
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
函数定义不属于标题,因为它自然会导致多重定义的符号.
你可以使用它来打击这个
static- 标记函数声明+定义,static使其成为TU的本地(翻译单元,即cpp文件)static inlinenamespace { /*function definition*/ }也使它成为TU的本地但是,除非有好处,否则我不建议这样做.你必须开始担心ODR(单一定义规则),因为你不得不问这个问题,我会假设这有点超出了你的语言经验.