我怎样才能动态地调用这里定义的正确常量:
#define MyCONSTANT_00 "STATICVALUE"
#define MyCONSTANT_01 "STATICVALUE1"
#define MyCONSTANT_02 "STATICVALUE3"
for (Index = 0; Index < record; Index++)
{
myfunction(MyCONSTANT_+Index);
}
这在编译时返回错误:
Undefined identifier MyCONSTANT_
如果我用常量调用函数 direclty 它工作正常:
myfunction(MyCONSTANT_00);
你不能:
#define
和相应的替换由预处理器处理,而for
循环(和Index
迭代器)由编译器处理。
预处理器中没有循环机制。
我建议定义一个静态常量数组并在循环中遍历它:
const char* cont MyCONSTANT[] = {"STATICVALUE", "STATICVALUE1", "STATICVALUE3" }
for (Index = 0; Index < record; Index++)
{
myfunction(MyCONSTANT[Index]);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句