Is it safe to use an enum to index an array? For example:
void messageToCerr( QtMsgType type,
const QMessageLogContext& context,
const QString& msg
) {
QVector<QString> typeName = {"Debug", "Warning", "Critical", "Fatal", "Info"};
QString output = QString( "[%1] %2" ).arg( typeName.at(type) ).arg( msg );
std::cerr << output.toStdString() << std::endl;
if ( type == QtMsgType::QtFatalMsg ) {
abort();
}
}
Is using "type", which is
enum QtMsgType { QtDebugMsg, QtInfoMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtSystemMsg }
like an array (vector) index is safe? I read that traversing enum like array is unsafe.