Я застрял в программе на C, которую я сейчас пишу в Xcode. После того, как работал над ним в течение нескольких часов, Xcode вдруг начал жаловаться с сообщением «ожидаемое выражение»:Xcode 4.6.3 «ожидаемое выражение»
switch(cmd) {
case 'S':
state = sstart;
accpos = accmax = varnum = 0;
inquote = inddstar = false;
break;
case 'L':
char c; // *** expected expression
int i = 0;
bool processed;
while((c = buff[i++]) != '\0') {
acc[accmax++] = c;
После чего Xcode жалуется, что переменная с не определена, когда используется с.
Я пробовал «показывать невидимые» в Xcode безрезультатно. Компиляция программы вручную с помощью clang или gcc дает такое же сообщение об ошибке.
После стадии препроцессора, эта часть кода выглядит следующим образом (полученный с лязгом -E):
switch(cmd) {
case 'S':
state = sstart;
accpos = accmax = varnum = 0;
inquote = inddstar = 0;
break;
case 'L':
char c;
int i = 0;
_Bool processed;
while((c = buff[i++]) != '\0') {
acc[accmax++] = c;
так ничего интересного ни.
Любые идеи? Я написал свою последнюю программу C 23 года назад, чтобы я мог что-то пропустить ...
Попробуйте обернуть весь корпус в скобках, например 'case 'L': {...}' – bdesham
@bdesham Это работает - большое вам спасибо! – uselpa