【发布时间】:2021-12-22 11:39:46
【问题描述】:
我正在使用具有此头文件的 book 学习 C++。当我尝试运行一个简单的“Hello, world!”时程序编译器抱怨并给我这个输出。我正在使用最新的 macOS。有人可以帮帮我吗?
[Running] cd "/Users/Ramsan/Praxis/" && g++ yup.cpp -o yup && "/Users/Ramsan/Praxis/"yup
In file included from yup.cpp:1:
/Users/Ramsan/std_lib_facilities.h:71:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using size_type = typename std::vector<T>::size_type;
^
/Users/Ramsan/std_lib_facilities.h:101:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using size_type = std::string::size_type;
^
/Users/Ramsan/std_lib_facilities.h:218:73: error: expected '(' for function-style cast or type construction
inline int randint(int min, int max) { return uniform_int_distribution<>{min, max}(get_rand()); }
~~~~~~~~~~~~~~~~~~~~~~~~~~^
/Users/Ramsan/std_lib_facilities.h:227:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using Value_type = typename C::value_type;
^
/Users/Ramsan/std_lib_facilities.h:230:18: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using Iterator = typename C::iterator;
^
4 warnings and 1 error generated.
[Done] exited with code=1 in 0.795 seconds
【问题讨论】:
-
编译器已过时或配置为使用 C++ 标准版本的较旧(1998 或 2003)修订版。您必须调整其中一个 JSON 配置文件,以指示编译器至少使用 C++11 修订版。希望更熟悉 VS Code 的人很快会来为您指出一个重复的问题。
-
您需要编辑
tasks.json和c_cpp_properties.json。 VSCode 文档在这里,它向您展示了如何启用 c++17:https://code.visualstudio.com/docs/cpp/config-clang-mac -
我已经多次关注该文档,但我得到了相同的结果。无论如何,您如何更新clang?更新Xcode的时候不是会自动更新吗?
标签: c++ macos c++11 visual-studio-code