Задать вопрос
Il_noor
@Il_noor
Физик

Почему не работает foreach в C++ Qt?

Всем привет)
Есть готовый класс QSerialDevice
Есть пример Enumerator (список доступных COM портов)

foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {
        QString s = QObject::tr("Port: ") + info.portName() + "\n"
                    + QObject::tr("Location: ") + info.systemLocation() + "\n"
                    + QObject::tr("Description: ") + info.description() + "\n"
                    + QObject::tr("Manufacturer: ") + info.manufacturer() + "\n"
                    + QObject::tr("Serial number: ") + info.serialNumber() + "\n"
                    + QObject::tr("Vendor Identifier: ") + (info.hasVendorIdentifier() ? QString::number(info.vendorIdentifier(), 16) : QString()) + "\n"
                    + QObject::tr("Product Identifier: ") + (info.hasProductIdentifier() ? QString::number(info.productIdentifier(), 16) : QString()) + "\n"
                    + QObject::tr("Busy: ") + (info.isBusy() ? QObject::tr("Yes") : QObject::tr("No")) + "\n";


    }


Эту часть кода программы я переношу в свою программу и получаю следующие ошибки:
1. expected primary-expression before 'const'
2. 'foreach' was not declared in this scope

По этому поводу в других формах предлагают подключить Boots (но Qt и так должен поддерживать foreach)

Что я делаю не так?
  • Вопрос задан
  • 400 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C++
На кой вам этот foreach, используйте плюсовый range-for.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
twdragon
@twdragon
Qt/C++ разработчик, ученый, TeX-программист
CONFIG += c++14
в файл .pro для qmake. Это включит все фишки 14-го стандарта. По умолчанию у вас вполне может стоять стандарт C++ 97.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы