edit : это действительно была проверка для '\ r \ n', это смутило меня, потому что строка ошибки была счетчиком, а не "если"
У меня есть Странная проблема при работе с flex, в этом коде я пытаюсь подсчитать, сколько строк в конце комментария, и для этого я изменяю счетчик внутри оператора "if"
void commentHandler(int line){
int counter = 0;
if (1 == line){
printf("%d COMMENT 1\n",yylineno);
}
else{
for(int i=2 ; i< yyleng-2 ; i++){
if('/' ==yytext[i] && '*' == yytext[i+1]){
errorHandler(ERROR_NESTED_COM);
}
if('\n' == yytext[i] || '\r\n' == yytext[i]){
counter++;
}
}
printf("%d COMMENT %d\n", yylineno - counter, counter + 1);
}
}
, но когда я его компилирую показывает следующее предупреждение:
warning: multi-charcter charecter constant [-Wmultichar]
, так как это мой HW, я не могу игнорировать предупреждения, но независимо от того, что я вставил туда, он показывает то же предупреждение, которое я никогда раньше не видел, и я действительно не знаю, что пошло не так.
это какая-то упаковка flex, которая противоречит этому? Я играл с именем фишки, но оно не изменилось.
что означает предупреждение?