给一个建议.

void Layout::addChild(Node child, int zOrder, int tag)
{
supplyTheLayoutParameterLackToChild(static_cast<Widget
>(child));
Widget::addChild(child, zOrder, tag);
_doLayoutDirty = true;
}

这里虽然没有BUG,但是很不人性化.如果传了一个不是Widget就会报错.我当时传的是sprite;
supplyTheLayoutParameterLackToChild这个函数里.调用了Widget的方法,导至出错
但是.我觉的这static_cast 因该改成dynamic_cast,更人性一点.更安全一点;

同意,我们这里也遇到过同样的问题,报错时栈信息已经乱掉了。
可能实现者当时为了统一接口没考虑这个问题。

感谢大家反馈,这块问题我会提给开发人员。同时也欢迎大家向Cocos2d-x贡献代码。