Parce que pire que les messages d'erreur de g++ >= 3.4, c'est facile, c'est g++ < 3.4 ;-). Le front-end C++ a été prèsque entièrement réécrit avec cette version, et c'était déjà le jour et la nuit côté messages d'erreur.
Après, c'est clair que le language lui-même n'a pas été conçu pour permettre des messages d'erreur clairs (contrairement à Ada, par exemple, dont la grammaire est LL(1), donc le compilo sait ce qu'il attends à chaque token, d'où des messages du genre « toto.adb:42:12: missing ";" » ou « expected "end foobar;" » au lieu de « parse error before ";" »).
[^] # Re: Le C++ peut être simple
Posté par Matthieu Moy (site web personnel) . En réponse au journal Un langage pour les nuls? Le langage D!. Évalué à 2.
Parce que pire que les messages d'erreur de g++ >= 3.4, c'est facile, c'est g++ < 3.4 ;-). Le front-end C++ a été prèsque entièrement réécrit avec cette version, et c'était déjà le jour et la nuit côté messages d'erreur.
Après, c'est clair que le language lui-même n'a pas été conçu pour permettre des messages d'erreur clairs (contrairement à Ada, par exemple, dont la grammaire est LL(1), donc le compilo sait ce qu'il attends à chaque token, d'où des messages du genre « toto.adb:42:12: missing ";" » ou « expected "end foobar;" » au lieu de « parse error before ";" »).