AFAIK {}
définit une nouvelle portée, alors qu'est-ce que cela définit ?
({});
Le compilateur compile bien ce programme :
#include <iostream>
#include <string>
int main()
{
std::string name;
std::cout << "What is your name? ";
{
({});
}
getline (std::cin, name);
std::cout << "Hello, " << name << "!\n";
}
Lorsque je remplace ({});
avec ();
le compilateur ne parvient pas à compiler le programme.
Pourquoi est-ce que ({});
fonctionnent bien, mais ();
ne le fait pas ?
J'ai testé le programme sur cpp.sh. Il compile bien.