Информация об изменениях

Сообщение Re: msvc-15.6: fold expressions не поддерживаются :( от 30.03.2018 13:24

Изменено 30.03.2018 13:28 Gaia

Re: msvc-15.6: fold expressions не поддерживаются :(
Здравствуйте, rg45, Вы писали:

R>Накатил 2017-ю студию, твердо рассчитывая на поддержку fold expressions. И такой облом


С багами, но поддерживается. Нужен ключик /std:c++17 или в настройках проекта С/С++, Language, C++ Language standard

//fold.cpp
#include <iostream>

template<typename... Args>
bool all(Args... args) { return (... && args); }

int main()
{
    std::cout << std::boolalpha << all(true, true, true, false);
}


cl /EHsc /std:c++17 fold.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.13.26129 for x86
Copyright (C) Microsoft Corporation. All rights reserved.

fold.cpp
Microsoft (R) Incremental Linker Version 14.13.26129.0
Copyright (C) Microsoft Corporation. All rights reserved.

/out:fold.exe
fold.obj

e:\Temp>cl /EHsc /std:c++17 fold.cpp && fold
Microsoft (R) C/C++ Optimizing Compiler Version 19.13.26129 for x86
Copyright (C) Microsoft Corporation. All rights reserved.

fold.cpp
Microsoft (R) Incremental Linker Version 14.13.26129.0
Copyright (C) Microsoft Corporation. All rights reserved.

/out:fold.exe
fold.obj
false
Re: msvc-15.6: fold expressions не поддерживаются :(
Здравствуйте, rg45, Вы писали:

R>Накатил 2017-ю студию, твердо рассчитывая на поддержку fold expressions. И такой облом


С багами, но поддерживается. Нужен ключик /std:c++17 или в настройках проекта С/С++, Language, C++ Language standard

//fold.cpp
#include <iostream>

template<typename... Args>
bool all(Args... args) { return (... && args); }

int main()
{
    std::cout << std::boolalpha << all(true, true, true, false);
}


e:\Temp>cl /EHsc /std:c++17 fold.cpp && fold
Microsoft (R) C/C++ Optimizing Compiler Version 19.13.26129 for x86
Copyright (C) Microsoft Corporation. All rights reserved.

fold.cpp
Microsoft (R) Incremental Linker Version 14.13.26129.0
Copyright (C) Microsoft Corporation. All rights reserved.

/out:fold.exe
fold.obj
false