попробуйте следующий код, пожалуйста:
QList<QString> list;
QString str ("something by the way");
QRegularExpression reA("pattern");
QRegularExpressionMatchIterator i = reA.globalMatch(str);
while (i.hasNext()) {
QRegularExpressionMatch match = i.next();
if (match.hasMatch()) {
list.append(match.captured(0));
}
}
return list;
Поскольку существует возможность перегрузить оператор, такой как ()
в c ++, для вашего компилятора очень сложно сделать различие между конструктором без параметров и оператором скобок,Поэтому, если вы хотите вызвать конструктор без аргументов, не ставьте круглые скобки Qlist<QString> myList;
.
. Вы можете ставить круглые скобки только при использовании оператора New QList<QString> *myList = new QList<QString>()
.
Оператор круглых скобок используется для создания вызываемых объектов в C ++, если вы хотите узнать больше об этом, вы можете посмотреть по этой ссылке