宏标识符未声明,即使已声明
Macro identifier undeclared even if it is declared
当我尝试编译我的 C 项目时出现此错误。
error #20: identifier "someGetFunctionMacro" is undefined
这出现在我在代码中使用 someGetFunctionMacroB()
的那一行。
variable = someGetFunctionMacroB();
但这就是 someGetFunctionMacroB()
的抽象。
#define someGetFunctionMacro() someGetFunction(param1)
#define someGetFunctionMacroA() (someGetFunctionMacro == returnval1 ||\
someGetFunctionMacro == returnval2 ||\
someGetFunctionMacro == returnval3)
#define someGetFunctionMacroB() someGetFunctionMacroC() && (someGetFunctionMacroA() == 1)
我不明白为什么在明确定义标识符 someGetFunctionMacro
时出现错误。
类函数宏必须像函数一样使用,带括号和所有。
所以如果你有像
这样的宏
#define someGetFunctionMacro() someGetFunction(param1)
你必须"call"它就像一个带括号的函数。
在 someGetFunctionMacroA
宏定义中,您没有正确使用 someGetFunctionMacro
。
当我尝试编译我的 C 项目时出现此错误。
error #20: identifier "someGetFunctionMacro" is undefined
这出现在我在代码中使用 someGetFunctionMacroB()
的那一行。
variable = someGetFunctionMacroB();
但这就是 someGetFunctionMacroB()
的抽象。
#define someGetFunctionMacro() someGetFunction(param1)
#define someGetFunctionMacroA() (someGetFunctionMacro == returnval1 ||\
someGetFunctionMacro == returnval2 ||\
someGetFunctionMacro == returnval3)
#define someGetFunctionMacroB() someGetFunctionMacroC() && (someGetFunctionMacroA() == 1)
我不明白为什么在明确定义标识符 someGetFunctionMacro
时出现错误。
类函数宏必须像函数一样使用,带括号和所有。
所以如果你有像
这样的宏#define someGetFunctionMacro() someGetFunction(param1)
你必须"call"它就像一个带括号的函数。
在 someGetFunctionMacroA
宏定义中,您没有正确使用 someGetFunctionMacro
。