>On 19/12/2018 11:09, Tom Isaacson wrote: >> Is it possible to use QMetaEnum::keyCount() to initialise an array? >> Something like: >> >> const QMetaEnum metaEnum = QMetaEnum::fromType<MyArray>(); >> int MyArray[metaEnum.keyCount()]; >> >> It seems like Q_ENUM declares functions with Q_DECL_CONSTEXPR in C++11 >> but I can't figure out how to get this to work. > >Are you sure they're constexpr? From what I can see in Qt 5.12, >keyCount() is not constexpr. It's just const.
You're right, keyCount() isn't. My confusion is that Q_ENUM declares its functions as constexpr: #define Q_ENUM(ENUM) \ friend Q_DECL_CONSTEXPR const QMetaObject *qt_getEnumMetaObject(ENUM) Q_DECL_NOEXCEPT { return &staticMetaObject; } \ friend Q_DECL_CONSTEXPR const char *qt_getEnumName(ENUM) Q_DECL_NOEXCEPT { return #ENUM; } But I don't understand why if the functions that then use them aren't. Tom Isaacson _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest