【发布时间】:2016-03-13 01:01:23
【问题描述】:
为什么编译给我error: initializer element is not constant 用于简单创建互斥锁HANDLE ghMutex = CreateMutex( NULL, FALSE, NULL);
我试过搜索,但我完全被难住了。无论我做什么,它都不会编译。我什至尝试将它分解:
HANDLE ghMutex;
ghMutex = CreateMutex( NULL, FALSE, NULL);
编译抱怨:
test.c:90:1: error: conflicting types for 'ghMutex'
test.c:89:8: note: previous declaration of 'ghMutex' was here
HANDLE ghMutex;
^
test.c:90:1: error: initializer element is not constant
ghMutex = CreateMutex( NULL, FALSE, NULL);
我认为我的语法有问题,我只是不知道是什么。
【问题讨论】:
-
我们能看到这段代码的上下文吗?您是否尝试在函数之外执行此操作?
-
是的,它在函数之外。这可能是问题吗?
-
第一个错误之后的错误(尤其是在同一代码中)通常是其后果。如果问题仍然存在,请解决冲突的类型声明并编辑问题。
-
@JoachimIsaksson 是对的。问题出在功能之外。我刚开始在 Windows 上玩 c。菜鸟错误。