【发布时间】:2012-02-03 19:50:29
【问题描述】:
这是base C中的一段代码:
static bool is_ascii_value_of_digit(char ascii_value){
if((ascii_value<40)&&(ascii_value >= 30)){
return true;
}
return false;
}
avr studio gcc 编译器给我错误:
../calculator.h:4: 错误:在 'is_ascii_value_of_digit' 之前需要 '='、','、';'、'asm' 或 '__attribute__'
类似的错误在其他函数中也很明显。我不知道为什么会这样。花了一个小时弄清楚原因,最后放弃了。据我在网上看到,我的语法不是问题。可能是我忽略的东西。
问题已解决!
非常感谢您的快速帮助,因为它为我节省了很多时间。我假设 bool 是 c 中的关键字。
【问题讨论】:
-
bool 不是关键字,除非您使用 C99。尝试将 bool 替换为 int 并分别返回 1/0。
-
@Yuushi:
bool在 C99 中(或在 C11 中)也不是关键字。如果你没有#include <stdbool.h>,它是未定义的,如果你有,它是一个扩展为_Bool的宏,它是一个关键字。