Я хочу выдавать динамические сообщения об ошибках, как это делают все переводчики в настоящее время, например:
Name error: Undefined variable
будет постоянным, однако я хочу достичь:
Name error: Undefined variable 'X', in line 1
Хорошо. Номер строки действительно не был проблемой: каждое сообщение об ошибке должно иметь номер строки, поэтому я добавил его в функцию генератора ошибок:
Error( ErrType type, string msg, int line );
Так где же моя проблема?
Как мне получить 'X'
в Undefined variable *
?
- Я не могу использовать sprintf, поскольку он не поддерживает строки, но я использую их везде
- Я не могу просто использовать cout и подключить все, так как я хочу, чтобы сообщения об ошибках подавлялись
- Я хотел бы получить все в одну функцию, как указано выше,
Error()
Как собрать динамические сообщения об ошибках?
Например: Error( Name, sprintf("Undefined variable %s", myVariableName ), lineNum );
(Но myVariableName
- строка, и sprintf
все испортит)