macOS 在使用 char16_t / std::u16string 时出现错误

问题描述 投票:0回答:1

我尝试在 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++。

c++ macos g++ char16-t
1个回答
1
投票

我使用 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
进行构建时,您会忘记设置标准版本,因此您将使用较旧的标准。

© www.soinside.com 2019 - 2024. All rights reserved.