Cocos2d-X的testcpp代码有没有错?

Is there any wrong in the testcpp code of Cocos2d-X?

我下载了 Cocos2d-X 并编译了 testcpp。但是它有问题,我定位它,发现下面的代码有问题。

debugForNormalSprite->drawPoints(positions, 4, 8, Color4F{0.0,1.0,1.0,1.0});

在我检查了 drawPoints 函数的定义之后。我将大括号更改为括号并且有效。是源代码错误还是我的编译器错误?我认为最后一个参数只是传递值的临时对象,对吗?提前致谢。

你看到的叫统一初始化,是C++11标准新增的。基本上,这只是调用构造函数的另一种方式,所以

Color4F{0.0,1 .0,1.0,1.0}

等同于

Color4F(0.0,1.0,1.0,1.0)

在这里您可以通过一个简单的例子了解它是如何工作的:ideone.com/heJJuI

关于你的编译问题,可能是旧的编译器不支持统一初始化造成的。你可以尝试从 Ideone 编译这个例子来解决这个问题(只是不要忘记用 C++11/14 支持编译它)。