我尝试运行类似的代码
#include <string>
#include <iostream>
int main() {
std::string str = "This is a string";
std::cout << str.starts_with("name");
}
Run Code Online (Sandbox Code Playgroud)
但是intellisense会报错
“std::__cxx11::basic_string<char, std::char_traits, std::allocator>”没有成员“starts_with” C/C++(135) [6,9]
它仍然可以构建并产生正确的结果。它还可以在头文件中找到实现。但是宏__cplusplus是定义的,因为201703L
我在构建时已经添加了命令-std=c++20,为什么会发生这种情况?
编译器:msys2编译的minGW 11.2