forked from qt-creator/qt-creator
Fix compilation issues with C++17
Testable on Linux/macOS by changing c++14 to c++1z in qtcreator.pri. Testable with latest MSVC2017 by setting _CL_=/std:c++17. unary_function, binary_function, and a few other things that were deprecated are removed in C++17. std::string got a non-const overload for its "data" member function, so we cannot create a function pointer on it without specifying its type. Use std::declval instead (though it requires a default constructor for the type). MSVC seems to have an issue with Utils::transform for std::vector (used in Nim plugin), but that looks like a compiler issue. Change-Id: I94f9a93d591d55b610f86fabfc618158927d6221 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -59,7 +59,7 @@ BehaviorSettingsWidget::BehaviorSettingsWidget(QWidget *parent)
|
||||
QList<int> mibs = QTextCodec::availableMibs();
|
||||
Utils::sort(mibs);
|
||||
QList<int>::iterator firstNonNegative =
|
||||
std::find_if(mibs.begin(), mibs.end(), std::bind2nd(std::greater_equal<int>(), 0));
|
||||
std::find_if(mibs.begin(), mibs.end(), [](int n) { return n >=0; });
|
||||
if (firstNonNegative != mibs.end())
|
||||
std::rotate(mibs.begin(), firstNonNegative, mibs.end());
|
||||
foreach (int mib, mibs) {
|
||||
|
||||
Reference in New Issue
Block a user