2017-06-11 4 views
-1

私のiOS Cocos2dxアプリケーションでは、std :: bindは4つのバインドされた引数(4パラメータ静的関数)に対応していないようです。第4引数は常にゴミである。clangのstd :: bindの引数の最大数

std :: bindの最大引数数をXCode(clangを使用)でチェックするにはどうすればよいですか?それを変更することはできますか?

また、ココスの設定はありますか?

+2

理論的に無限の数の引数を扱うことができるはずです。 [Minimal、Complete、and Verifiable Example](http://stackoverflow.com/help/mcve)を作成して表示しようとすると、間違っていることを教えてくれるかもしれません。 –

+0

ありがとう、これは私が今知りたいと思ったすべてです。 –

+0

私はできる限り私自身の問題を解決したい、最小限の質問をします。コンパイラの設定で何かをチェックする方法を知りたがっていることが分かりません。最初の2つの文章を削除した場合、問題は言及されませんが、問題は有効になりますか? –

答えて

0

OK、問題はパラメータが多すぎるというわけではありませんでしたが、3番目と4番目のパラメータにCスタイルの配列を渡していたことが原因です。私が見つけたように、Cスタイルの配列は、std :: bindに必要なC++ 11のコピー動作を指定していません。

3番目の議論は常に正しいと思いますが、問題は4番目の問題のみでした。これが私にこの質問をしました。

+1

「指定されたコピー動作」とはどういう意味ですか? – user2079303

+2

後でスコープから外れたり、破壊されたりするデータへのポインタを渡すと、常に*未定義の動作*が発生します。残念なことにUBの可能性の1つは、見た目ではうまくいくことです。 –

関連する問題