已解决: CodeWarrior提示Error: C2801: '}'missing


问题描述:
某个函数中包含if语句。代码大致如下:

  if(show_parameter_flag){    
    show_parameter_flag = 0 ;
    int temp;
    other_statements;
  }

编译器报错:Error: C2801: '}'missing

解决方法:
经过一晚上暴力Debug,发现稍微换一下顺序就解决了:

  if(show_parameter_flag){
    int temp;    
    show_parameter_flag = 0 ;
    other_statements;
  }

判断语句中,变量要紧接着if语句才能顺利声明。
原因估计是对于XS芯片有特殊编译要求。