Un collègue a écrit accidentellement le code comme ceci:Pourquoi le code "foo :: foo :: foo :: foob" est-il compilé?
struct foo {
foo() : baz(foobar) {}
enum bar {foobar, fbar, foob};
bar baz;
};
void f() {
for(auto x : { foo::foobar,
foo::fbar,
foo::
foo::
foo::foob });
// ...
}
GCC 5.1.0 compile cela.
Quelle est la règle qui rend cette compilation?
pouvez-vous être un peu plus précis sur ce que vous ne vous attendez partie de ne pas compiler proprement? – neuhaus
Il n'est pas: https://godbolt.org/g/j2AbVn – Timbo
Il y a un fichier include manquant et la boucle for manque une instruction mais à part ça compile – Johan