2017-06-11 41 views
-1

在我的iOS Cocos2dx应用程序中,std :: bind似乎无法应付4个绑定参数(对于4参数静态函数)。第四个观点总是垃圾。在clang中std :: bind的参数的最大数量

我该如何检查XCode(使用clang)std :: bind的最大参数数量?我可以改变它吗?

或者它在科科斯的一些设置?

+2

它应该能够处理理论上无限多的参数。如果您尝试创建[最小化,完整和可验证示例](http://stackoverflow.com/help/mcve)并显示,那么也许我们可以告诉您您做错了什么。 –

+0

谢谢,这是我现在想知道的。 –

+0

如果可以,我喜欢解决我自己的问题,询问最少的问题。我不明白什么是错误的想知道如何检查编译器设置中的东西(给出这个问题的人-1)。如果我删除了前两句话 - 不提及我遇到的问题 - 问题是否会变得有效? –

回答

0

好的,问题不是有太多的参数,而是因为我传递了第三和第四个参数的C样式数组。正如我发现的,C风格的数组在C++ 11中没有指定的复制行为,这是std :: bind所需要的。

有趣的是,第三个参数总是正确的,问题出在第四个 - 这就是让我问这个问题的原因。

+1

“指定复制行为”是什么意思? – user2079303

+2

将指针传递给稍后超出范围或被破坏的数据将始终导致*未定义行为*。不幸的是,UB的其中一个可能性就是它看起来工作正常。 –

相关问题