我正在写一些Win32程序。我遇到了一个问题。 我定义了一个Point数组,就像这样:
POINT points[3];
现在我想初始化它,我知道这是非法的
POINT points[3] = { (295,295),(200,200),(400,500) };
所以我需要正确的方法。
答案 0 :(得分:2)
你可以简单地将其作为
POINT points[3] = { 295, 295, 200, 200, 400, 500 };
但更安全的事情就是这个
POINT points[3] = { { 295, 295 }, { 200, 200 }, { 400, 500 } };
有趣的部分是你最初写的不是非法的(你从哪里得到这个想法?)。您在初始化程序中使用的()
将导致内部,
被解释为逗号运算符。例如,表达式(400, 500)
的计算结果为500
。这意味着您的原始初始化程序实际上被视为
POINT points[3] = { 295, 200, 500 };
又相当于
POINT points[3] = { { 295, 200 }, { 500, 0 }, { 0, 0 } };
它没有做你想做的事,但肯定不是非法的。
答案 1 :(得分:0)
根据评论:
POINT points[] = {{295,295}, {200,200}, {400,500}};