10
votes

Expression primaire attendue avant '.' '

in member function 'double square::perimeter()';
.cpp:21: error: expected primary-expression before '.' token
.cpp:21: error: expected primary-expression before '.' token

1 commentaires

Pourquoi un carré aurait-il une différence et largeur ? Vous pouvez simplement utiliser côté .


6 Réponses :


3
votes

Utilisez simplement

double square::perimeter() {
    return 2 * length + 2 * width;
}


0 commentaires

20
votes

carré code> est un type type em>, pas un objet; Au lieu de

return 2*this->length + 2*this->width;


0 commentaires

2
votes

Pour accéder aux variables d'instance, nommez-les simplement:

double square::perimeter() {
  return 2*length + 2*width;
}


0 commentaires

3
votes
double square::perimeter() {
    return 2 * length + 2 * width; //will refer to the instance variables automatically
}

0 commentaires

4
votes

Oui, le formulaire précis serait: xxx

car carré est un type, pas un objet.

dans ce contexte, C'est la même chose que: xxx

Cependant, puisque c'est l'objet même et le type même , vous pouvez simplement écrire : xxx

ou, le plus simplement: xxx


0 commentaires

2
votes
 double square::perimeter() {
    return (2*(length + width));
    }

0 commentaires