再帰深度エラー
この警告カテゴリーはqmllintによって[recursion-depth-errors]
。
文または式の最大深度を超えました
何が起こりましたか?
QMLの文や式がコンパイラに対して深くネストされすぎています。これは通常、文や式が非常に長くなるようなコードを生成した場合にのみ起こります。
これはなぜ悪いのでしょうか?
QMLエンジンはこのコードを実行することができません。
例
import QtQuick Item { function f() { let x = 1 + 1 + .... + 1 // maximum depth exceeded: add too many ones together return x } Item { Item { .... } } // maximum depth exceeded: too many nested Item's }
この警告を修正するには、より小さなコードを自動生成してください。深くネストしたコンポーネントを複数のファイルやインラインコンポーネントに分割したり、深くネストした式を複数の式に分割してください:
import QtQuick Item { function f() { let x = 1 + 1 + .... + 1 // first half of the split x += 1 + 1 + .... + 1 // second half of the split return x } component NestedItem : Item { Item {... }} // first half of the nested Item component DeeplyNestedItem: Item { ... NestedItem{} ... } // second half of the nested Items + NestedItem DeeplyNestedItem {} }
このドキュメントに含まれるコントリビューションの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。