У меня есть этот код:
FILE *f = fopen(intPath, "r");
Node *n;
if (f) {
try {
n = parse(f, intPath);
} catch (SyntaxError e) {
fclose(f); /***** line 536 *****/
throw LangException(
builtin_classes::exception_class::create_ImportError(
String::fromAscii(e.filename)->
append(String::fromAscii(":"))->
append(String::fromInt(e.line))->
append(String::fromAscii(":"))->
append(String::fromInt(e.col))->
append(String::fromAscii(": syntax error: "))->
append(String::fromAscii(e.message))
);
}
fclose(f);
return n->eval(scope);
} else {
throw LangException(
builtin_classes::exception_class::create_ImportError(
String::fromAscii("failed to open file for reading")
),
line,
col
);
}
И компилятор выдает эту ошибку:
node.cpp: 537: 40: ошибка: ожидаемое первичное выражение до ‘(’
token
node.cpp: 544: 94: ошибка: ожидается ‘)’
до ‘;’
токен
Я понятия не имею, что это могло бы быть, тем более что в этом примере кода есть другое утверждение, которое делает то же самое, и оно не вызывает ошибку.