[POO] Problème constructeur et arguments par défaut
Bonjour,
J'ai un problème de constructeur. Tout fonctionne comme je m'y attends lorsque j'appelle le constructeur en spécifiant au moins un argument. Par contre cela ne compile pas lorsque je veux utiliser uniquement les arguments par défaut du constructeur.
Quelqu'un peut m'éclairer?
Voilà un code minimal qui compile lorsque j'appelle antenna ant(123); mais pas sans argument comme en dessous.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include <iostream>
#include <string>
using namespace std;
// Classe antenne
class antenna
{
public:
float x,y;
string name;
antenna(float x=-1e6,float y=-1e6,string name="no_name");
};
antenna::antenna(float x,float y,string name) {
this->x=x;
this->y=y;
this->name=name;
}
int main() {
antenna ant();
cout << ant.x <<endl;
return 0;
} |
Erreur:
Code:
bug.cpp:23: error: request for member `x' in `ant', which is of non-class type `antenna ()()'
Qu'est ce que j'ai loupé?
Keld.