我想使用C++ 17功能。如何在Visual Studio中啓用C++ 17編譯?
如何在Microsoft Visual Studio中將C++ 14編譯爲C++ 17?
或者它在VS的發佈版本中不可用?
我想使用C++ 17功能。如何在Visual Studio中啓用C++ 17編譯?
如何在Microsoft Visual Studio中將C++ 14編譯爲C++ 17?
或者它在VS的發佈版本中不可用?
看到這個文件現在有一個下拉(至少從VS 2017年3月5日),您可以明確選擇C++ 17。可用的選項是(下項目/屬性/ C++ /語言)
Visual Studio 2015 Update 3不支持您正在查找的C++ 17功能(emplace_back()
返回參考)。
Support For C++11/14/17 Features (Modern C++)
C++11/14/17 Features In VS 2015 RTM
添加到項目設置附加選項:/std:c++latest
,使最新的功能 - 目前C++ 17的V S2017,VS2015更新3
https://blogs.msdn.microsoft.com/vcblog/2016/06/07/standards-version-switches-in-the-compiler/
/permissive-
將禁用非標準C++擴展和將使VS2017標準符合性。
https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/
EDIT(NOV 2017):最新VS2017功能記錄在這裏: https://docs.microsoft.com/en-gb/cpp/build/reference/std-specify-language-standard-version
VS2017現在支持:/std:[c++14|c++17|c++latest]
這些標誌可以通過項目的屬性頁中設置:
在Visual Studio開發中設置此編譯器選項 環境
- 打開項目的「屬性頁」對話框。有關詳細信息,請參閱使用項目屬性工作 。
- 選擇配置屬性,C/C++, 語言。
- 在C++語言標準中,從下拉控件中選擇支持 的語言標準,然後選擇確定或應用以保存 您的更改。
在MSDN
哪個C++ 17個功能?哪個版本的Visual Studio?如果你問的是C++ 17,爲什麼要標記你的問題「C++ 11」和「C++ 14」? – ildjarn
C++ 17不可用,我認爲那些對特定版本的C++感興趣的人知道如何切換它。 例如,我希望std :: vector.emplace_back()返回對新創建的元素的引用。我知道+1行,並且我得到了這個參考,但是我想知道我的問題的答案。 VS社區2015(14.0.25431.01更新3) – Tudvari
你應該在這裏檢查:https://blogs.msdn.microsoft.com/visualstudio/ –