のメタデータを取得しようとする次のクラスがありenum MyEnum
ます。ただし、そのカウントをループするmeta.enumeratorCount()
と常に0になります。基本的に、この例hereに従っていました。問題を見つけるために、私はメソッドでも同じことを試みていました.同じ問題-メソッドカウント0.コードはコンパイルされ、エラーも警告もありません.
ばかげた間違いに違いない....多分あなたは私を助けることができます
class FsxSimConnectQtfier : public QObject
{
Q_OBJECT
public:
explicit FsxSimConnectQtfier(QObject *parent = 0);
enum MyEnum { G1, G2 };
static const QString simConnectExceptionToString(const DWORD id);
};
const QString FsxSimConnectQtfier::simConnectExceptionToString(const DWORD id) {
// int i= FsxSimConnectQtfier::staticMetaObject.indexOfEnumerator("MyEnum");
// -1 -> not found, why?
QMetaObject meta = FsxSimConnectQtfier::staticMetaObject;
for (int i=0; i < meta.enumeratorCount(); ++i) {
QMetaEnum m = meta.enumerator(i); // never reached, why?
}
return "";
}