10
votes

Point-virgule après les cours et les structures

Duplicaté possible: strong>

Pourquoi dois-je mettre Un point-virgule à la fin de la déclaration de classe en C ++? P>

trouvé Dupliquer , Votez-vous à fermer s'il vous plaît. strong> p>

Pourquoi les classes et les structures doivent-elles être conclues avec point-virgule en C ++? P>

comme dans ce qui suit Code: P>

class myClass
{



};

struct muStruct
{

};


4 commentaires

Les points-virgules ne sont pas nécessaires dans la dernière déclaration d'une fonction dans JavaScript. Pourquoi Java et C # l'exigent-ils?


Dupliquer: Stackoverflow.com/Questtions/1783465/...


@Chals: En effet, merci


Jimmy: Vous pouvez omettre des points-virgules sur la place de JavaScript et l'analyseur le réparera pour vous. S'appuyant sur ce n'est pas une bonne idée cependant. Même à la fin d'un bloc, omettez le point-virgule peut vous causer des problèmes de maintenabilité lorsque vous démarrez des lignes de copie et de coller.


3 Réponses :


2
votes

Ce qui suit est légal en C ++:

struct MyStruct
{
} anInstanceOfMyStruct;

struct
{
} anInstanceOfAnUnnamedStruct;


0 commentaires

5
votes

Parce que le mot suivant suivant le } code> peut déclarer une variable dudit type. Ceci est une relique de C:

struct S { int a; } s;
s.a;


0 commentaires

11
votes

C'est pourquoi ...
int a,b,c,d;
int main(void) {
    struct y {
  }; a, b, c, d;
    struct x {
  } a, b, c, d;
}


3 commentaires

Que fait la virgule, dans "A, B, C, D" à la fin de la structure y?


Bien que la deuxième série définit manifestement 4 struct x , la première série définit réellement un tas de variables int .


Quelles sont les différentes significations?