制限タイプ
この警告カテゴリーはqmllintによって[restricted-type]
。
ここからスコープされていない列挙型にアクセスすることはできません。
何が起こったのでしょうか?
C++で定義されたenumの値にenum型名でアクセスしました。
これはなぜ悪いのでしょうか?
C++で定義されたスコープされていない列挙型は、その列挙型名ではアクセスできません。それらは実行時に未定義になります。
例
ここでMyClassは
class MyClass: public QObject { Q_OBJECT QML_ELEMENT public: enum Hello { World }; Q_ENUM(Hello); ... };
この警告を修正するには、QML の使用法から不要な列挙型名を削除してください:
もしあなたが列挙型の作者であれば、QML のコードを変更する代わりに、列挙型の定義を変更して列挙型クラスを使用することもできます:
class MyClass: public QObject { Q_OBJECT QML_ELEMENT public: enum class Hello { World }; Q_ENUM(Hello); ... };
Note: enum 型の登録についての詳細は、こちらを参照してください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。