gpt4 book ai didi

c++ - 为什么我在 C++ 中得到 "error: expected ' }'"但在 C 中却没有?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:25:52 27 4
gpt4 key购买 nike

当我在以下 C++ 源代码中编译时,我得到了 "error: expected '}'" '^' 指向的地方:

typedef enum { false, true } Boolean;
^

当我将其编译为 C 源代码时,我没有收到此错误。

这是什么原因?我很难过!

最佳答案

falsetrue是 C++ 关键字,因此您不能将它们用作 enum标识符。

在 C 中,它们不是关键字,因此您的代码可以工作,但如果您包含 <stdbool.h>那么它将无法编译,因为该 header 定义了 falsetrue作为宏。

请注意,您可能不应该自己实现 boolean 类型。 C++ 已经有了 bool类型,如果您使用的是 C99 编译器,则可以包括 stdbool.h .这会给你一个 bool具有 false 的类型和 true值,类似于 C++。

关于c++ - 为什么我在 C++ 中得到 "error: expected ' }'"但在 C 中却没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18578025/

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