Compilateur affichant le symbole 'pi' en cas d'erreur


103

Je testais du code sur Coliru , et j'ai eu une sortie étrange. J'ai descendu le code et j'ai pu le reproduire avec ce simple morceau de code :

int main()
{
    π
}

La sortie sur g ++:

sortie sur g ++

bruit:

sortie sur clang

Par exemple, l'utilisation de just pi(sans l'adresse de) affiche le résultat attendu:

main.cpp:3:5: error: 'pi' was not declared in this scope
    pi;
    ^

J'ai essayé de reproduire ceci sur ma machine, en utilisant g ++ 4.9.2 et sur d'autres sites mais je n'ai pas pu.

Est-ce un bug sur ce site, une configuration de ces compilateurs?

Et pourquoi n'utiliser que l'opérateur address-of ( &) montre ce symbole?


23
Que se passe-t-il si vous y mettez &tm;? Avez-vous ™ apparaitre? Si tel est le cas, votre sortie est interprétée comme HTML.
tadman

13
@tadman Selon ce site ™ n'a pas de code HTML "nom", juste un code numérique HTML: & # 8482; Cela donne la sortie attendue .
simon

53
ahaha c'est hilarant
Courses de légèreté en orbite

4
@ Random832: C'est ce que j'obtiens pour parcourir le DOM plutôt que pour voir la source. (╯°□°)╯︵ ┻━┻
Courses de légèreté en orbite

3
Pour mémoire, plusieurs personnes qui ont commenté ici connaissent le mainteneur de Coliru. Il est maintenant conscient du problème. Merci de l'avoir soulevée.
Courses de légèreté en orbite

Réponses:


114

C'est un bogue sur le site, car la sortie du compilateur n'est pas correctement échappée. Le compilateur devrait produire π, mais c'est du HTML valide, produisant le symbole pi que vous voyez.


pouvons-nous avoir une démo en direct sur un endroit comme coliru pour le montrer? : P
thecoshman

9
Et bien souvent, la fuite oubliée s'avère être un problème de sécurité. Ainsi, chaque fois que l'on en rencontre, il est poli d'en informer l'administrateur du site.
kasperd

50

πest le code html pour π. On dirait que quelqu'un a oublié de s'échapper correctement.


8
700 et un badge en or. Ce qui est vraiment désagréable, c'est que ce gars aurait pu utiliser ça beaucoup plus que moi,
Puppy

3
@DavidRicherby - rep est surfait et ne met pas de nourriture sur la table.
dtech
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.