Primaire expression before '.'

#include <iostream>
using std::cout;
using std::endl;

class square {

public:
    double length, width;

    square(double length, double width);
    square();

    ~square();

    double perimeter();
};

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

int main() {

square sq(4.0, 4.0);

cout << sq.perimeter() << endl;

return 0;
}

Je suis en train d'écrire un simple programme de classe. J'obtiens l'erreur

en fonction de membre de la " double carré::périmètre()';
.rpc:21: erreur: primary-expression before '.' token
.rpc:21: erreur: primary-expression before '.' token

Cela signifie que je dois utiliser 2*carré::longueur + 2*carré::largeur??

Pourquoi un carré différent length et width? Vous pouvez simplement utiliser side.

OriginalL'auteur photon | 2012-03-20