我尝试在 mac 上使用 char16_t / u16string 但出现错误:
std::u16string aaa = u"-d";
const char16_t* cc = u"abcd";
Error: "use of undeclared identifier 'u' gcc [ln...]"
有谁知道这是为什么吗?
我使用 mac Sonoma、VSCode、C++ g++。
我使用 mac Sonoma、VSCode、C++ g++。
我的主要问题是你是如何编译这个的?你正在运行什么命令。我可以使用以下命令编译它
主.cpp
#include<string>
int main() {
std::u16string aaa = u"-d";
const char16_t* cc = u"abcd";
}
命令
g++ --std=c++20 main.cpp
我相当肯定,当您使用
--std=c++20
进行构建时,您会忘记设置标准版本,因此您将使用较旧的标准。