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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.