相关疑难解决方法(0)

如何确定编译器使用的C++标准的版本?

如何确定编译器实现的C++标准版本?据我所知,以下是我所知道的标准:

  • C++ 03
  • C++ 98

c++ standards

95
推荐指数
6
解决办法
8万
查看次数

如何更改 VS Code 中使用的 C++ 语言标准版本?

我打印了宏的值__cplusplus,发现我的文件是在 Visual Studio Code 中使用 C++98 执行的。我正在使用 CodeRunner 扩展。

如何将其更改为 C++17?

c++ visual-studio-code

16
推荐指数
2
解决办法
5万
查看次数

在 C++ 中使用 char8_t 数据类型时要使用哪个头文件或定义?

所以我想char8_t在我的代码中使用数据类型。但我的编译器向我显示它找不到像 这样的标识符char8_t,这可能意味着它找不到所需的头文件或定义。

那么谁能告诉我应该使用哪些头文件/定义来获取char8_t数据类型?语言是C++. 如果您也能回答,我将不胜感激C

PS:<cwchar>没用。

编辑:

我的代码:

#include <iostream>
#include <cwchar>
using namespace std;
int main()
{
char c='a';
wchar_t w=L'A';
char8_t c8=u8'c';
char16_t c16=u'D';
char32_t c32=U'K';

cout<<"Data Type"<<"\t"<<"Size"<<"\n"
<<"char"<<"\t \t"<<sizeof(c)<<" bytes"<<"\n"
<<"wchar_t"<<"\t \t"<<sizeof(w)<<" bytes"<<"\n"
<<"char8_t"<<"\t"<<sizeof(c8)<<"\n" 
<<"char16_t"<<"\t"<<sizeof(c16)<<" bytes"<<"\n"
<<"char32_t"<<"\t"<<sizeof(c32)<<" bytes"<<"\n";

return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的编译器抛出这个错误:

WideCharacters.cpp: In function 'int main()':
WideCharacters.cpp:8:5: error: 'char8_t' was not declared in this 
scope; did you mean 'wchar_t'?
8 |     char8_t c8=u8'c';
  |     ^~~~~~~ …
Run Code Online (Sandbox Code Playgroud)

c++ c++20

5
推荐指数
1
解决办法
685
查看次数

标签 统计

c++ ×3

c++20 ×1

standards ×1

visual-studio-code ×1