gpt4 book ai didi

c++ - 为什么 int a= 4i;不报告语法错误(c++)

转载 作者:行者123 更新时间:2023-11-30 01:39:56 24 4
gpt4 key购买 nike

enter image description here

#include <iostream>
using namespace std;

int main(int argc, const char * argv[]) {
int a = 232u;
int b = 4i;
cout << a << endl << b;
}

我正在复习 cpp 的基础知识,正如我拍摄的屏幕截图所示,我尝试将一个 unsigned int 签名为一个很好的 int,然后我尝试将它更改为 i 并等待错误,但是没有错误并且输出为 0。没有 i 的定义。那么发生了什么。

我在 mac 上使用 xcode,最后一张图片是build设置。

最佳答案

C++有一个字面量的概念,用来描述一个值的类型。例如,integer literal可以用来写 I want a integer 1类型 unsigned int .我们会写的1u .

在您的情况下,您可能正在使用 GNU extension for imaginary constants .你写的东西不能用 C++ 标准编译。

在 C++ 标准中使用复杂文字的好方法是包含 include <complex> .并使用 std::complex_literals ,这仅在 C++14 中可行。

关于c++ - 为什么 int a= 4i;不报告语法错误(c++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44608230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com