This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
[引用 user="yanzhen fu"]提示是"bool,只能在 C中使用
这是不正确的。 bool 是 C++中的内置类型、就像 int 一样。 它不是 C 的内置类型。 通常在 C 中执行的操作是#include ,然后像任何其他类型一样使用 bool。 实际上、上面显示的代码来自头文件 。 我不知道您为什么要展示它。
谢谢、此致、
乔治
宏__cplusplus 由编译器预定义。 如果正在编译的代码是 C++、则定义此符号并具有非零值。 否则、它未定义。 同时、未为 C 定义关键字 bool、但为 C++定义了关键字 bool。
所以,这项测试来自 stdbool.h。。。。
#ifndef __cplusplus
在编译 C 代码时为 true、否则为 false。
编译器如何知道源代码何时为 C++? 在大多数情况下、文件扩展名会对其进行控制。 如果文件扩展名为.cpp、则代码为 C++。 如果文件扩展名为.c、则代码为 C
因此、在编译 C 代码时、stdbool.h 中的代码会为 bool 创建一个可在 C 代码中使用的定义。 在编译 C++代码时、该代码不执行任何操作。
谢谢、此致、
乔治
如果这是 C 代码、则您可以#include ,那么我不知道为什么会出现错误。 如果您遇到这种情况、那么我需要一个测试案例、允许我重现相同的行为。 请按照 如何提交编译器测试用例中的说明提交一个测试用例。
谢谢、此致、
乔治
你(们)好
这是 main.app
请帮助,
猎人
最恰当的考虑
我尝试明确地指出、要在 C 代码中使用 bool、您必须使用此头文件
#include
您发送的源文件没有。 当我添加它时、它会清晰地构建。
谢谢、此致、
乔治