不确定为什么会发生这种情况......它在第72行说“错误C4430:缺少类型说明符 - 假设为int。注意:C ++不支持default-int”
现在,我在想我的BOOL会做什么?虽然我不确定,但你能帮忙吗?
第72行
static bCapture = false;
bCapure加下划线,鼠标错过“静态错误:显式类型丢失(假设为'int')
答案 0 :(得分:6)
因为您尚未声明static
变量的类型。
你必须使用:
static bool bCapture = false;
// ^^^^
static
不是类型,它是存储持续时间说明符:
答案 1 :(得分:1)
"不确定为什么会发生这种情况。" - 因为你还没有声明变量的类型。 static
不是类型,它是存储持续时间说明符。你想要的是static bool bCapture = false;
。
答案 2 :(得分:0)
static bCapture = false
无效,因为您没有为bCapture
指定类型(见下文))。由于C ++是一种严格类型的语言,因此不允许从您的赋值中隐式猜测类型。考虑一下:
static a = 3; // is a int or some other integral type?
// or maybe even a class with non-explicit
// conversion constructor?
使用
static bool bCapture = false;
代替。
从C ++ 11开始,可以让编译器推断变量的类型,但是你仍然必须明确告诉它这样做。所以它会是
auto f = false;
答案 3 :(得分:0)
您尚未声明类型bCapture
- static
不是类型。
将其作为
static bool bCapture = false;
当修改变量时,static关键字指定变量具有静态持续时间(在程序开始时分配,在程序结束时释放)并将其初始化为0,除非指定了另一个值。在文件范围修改变量或函数时,static关键字指定变量或函数具有内部链接(其名称在声明它的文件外部不可见)。
来源&更多细节:http://msdn.microsoft.com/en-us/library/s1sb61xd(v=vs.80).aspx