ARMCC编译错误Error: #40: expected an identifier
我在ARMCC下编译一个库,宏定义如下
头文件utf16.h中
头文件utf.h中
在umain.c中调用宏
编译出错: #40: expected an identifier
UTF_FWD_N(array, index, len, delta);
#137: expression must be a modifiable lvalue
UTF_FWD_N(array, index, len, delta);
#40: expected an identifier
UTF_BACK_N(array, 0, index, -delta);
#137: expression must be a modifiable lvalue
UTF_BACK_N(array, 0, index, -delta);
请问各位大神们,这个是啥原因,怎么解决??
头文件utf16.h中
#define U16_FWD_N(s, i, length, n) { \
int32_t __N=(n); \
while(__N>0 && (i)<(length)) { \
U16_FWD_1(s, i, length); \
--__N; \
} \
}
头文件utf.h中
#define UTF_FWD_N(s, i, length, n) U16_FWD_N(s, i, length, n)
在umain.c中调用宏
int32_t
UnicodeString::moveIndex32(int32_t index, int32_t delta) const {
// pin index
int32_t len = length();
if(index<0) {
index=0;
} else if(index>len) {
index=len;
}
const UChar *array = getArrayStart();
if(delta>0) {
UTF_FWD_N(array, index, len, delta);
} else {
UTF_BACK_N(array, 0, index, -delta);
}
return index;
}
编译出错: #40: expected an identifier
UTF_FWD_N(array, index, len, delta);
#137: expression must be a modifiable lvalue
UTF_FWD_N(array, index, len, delta);
#40: expected an identifier
UTF_BACK_N(array, 0, index, -delta);
#137: expression must be a modifiable lvalue
UTF_BACK_N(array, 0, index, -delta);
请问各位大神们,这个是啥原因,怎么解决??
...全文
相关推荐
KEIL编译错误信息
Boolean expression expected (error40):**- **含义:** 期望得到布尔表达式。- **解决方法:** 确保使用的是布尔表达式。**40.
turbopascal编译错误和运行错误信息中英文对照表
40. error 40: Boolean expression expected - 缺布尔表达式 预期需要一个布尔表达式,用于控制流程。
kell常见错误提示.
#### 40. error40: Boolean expression expected (缺布尔表达式)**错误描述**:当需要布尔表达式的地方使用了其他类型的值。
pascal编译错误和运行错误信息中英文对照表
**error2: Identifier expected - 缺标识符** - **含义**:编译器期望在当前位置看到一个标识符(例如变量名、过程名等)。
单片机程序错误代码及错误信息 错误释义
#### error40: Boolean expression expected(缺布尔表达式)当编译器期望得到布尔表达式的地方发现了其他类型的数据,会出现此错误。


