Un problème est apparu sur un autre forum et je savais comment résoudre le problème, mais il a révélé une caractéristique de l'compilateur particulière pour moi. La personne qui a été l'obtention de l'erreur "Embedded déclaration ne peut pas être une déclaration ou un rapport marqué" parce qu'ils avaient une déclaration d'une variable suivant une instruction if sans crochets. Ce n'était pas leur intention, mais ils avaient commenté la ligne de code qui suit immédiatement l'instruction if, qui a fait de la déclaration de la variable, de facto, la ligne de code à exécuter. De toute façon, c'est le fond, ce qui m'amène à cela.
Le code suivant est illégal
if (true)
int i = 7;
Toutefois, si vous enroulez qui, entre parenthèses, tout est légal.
if (true)
{
int i = 7;
}
Aucun morceau de code est utile. Pourtant, le second est OK. Précisément ce qui est l'explication de ce comportement?