IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Compilation impossible "default argument missing for parameter 2"


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Par défaut Compilation impossible "default argument missing for parameter 2"
    Bonjour, j'ai l'impression que le probleme que je rencontre fait parti de ces soucis fantomes rares et difficiles à cerner...

    J'ai un message d'erreur à la compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    default argument missing for parameter 2
    Ceci apparait après une modification substantielle de mon code :

    J'ai du reprendre une page contenant les méthodes de 2 classes, A et B, B étant instanciée dans A.
    + des variables globales en haut de page, partagées entre les 2 classes.
    (vive l'objDev!! )

    Donc je veux repasser tout ca au propre :
    J'ai passé les globales en attribut de A,
    et les globales utilisées par B uniquement en attribut de B.

    Je change mes constructeur de B pour que les valeurs de A instanciant B lui soit passé en argument,

    Tout semble ok, pourtant j'ai ce crash unique :
    in B.cpp : error : default argument missing for parameter 2 B::B(x,y,z)

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 190
    Par défaut
    Salut,

    Sans code c'est difficile de t'aider.

  3. #3
    Membre éclairé Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Par défaut
    Je peux te donner le constructeur, mais pour le reste c'est assez long...

    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
    B::B(QWidget *parent, char *SP,  char *SN, char *SN2, vector <float> ids, vector <float> ids2, vector <float> INFO, bool LEIPcut, int NBRANGE, int dynScale) : QWidget(parent){
     
    		this->idsprofile.setupUi(this);
     
    		SourcePath = SP;
    		SourceName = SN; 
    		SourceName2 = SN2; 
     
    		this->ids=ids;
    		this->ids2=ids2;
    		this->INFO=INFO;
    		thisLEIPcut=LEIPcut;	
     
     
     
    		this->dynScale=dynScale;
    		this->NBRANGE=NBRANGE;
    };
    avec pour attributs de B :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	private:
    	char *SourcePath;
    	char *SourceName;
    	char *SourceName2;
    		int dynScale;
    		int NBRANGE;
    								vector <float> ids;
    	vector <float>  ids2;
     
    	vector <float> INFO;
     
    	bool thisLEIPcut;

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 155
    Par défaut
    in B.cpp : error : default argument missing for parameter 2 B::B(x,y,z)
    apparemment il ne connait pas le constructeur avec 3 paramètres: vérifie s'il existe, et si oui vérifie le type des paramètres lors de l'appel.

  5. #5
    Membre éclairé Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Par défaut
    Ok, j'ai compris le bug,
    En fait j'utilise en début du main (ou A) un constructeur vide comme je n'ai pas déclaré un prototype avec argument vide,
    Forcément il va chercher des default.

  6. #6
    Membre éclairé Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Par défaut
    non en fait je n'ai pas déclaré de dans l'implémentation constructeur de A (note)

    je déclare dans les A.méthodes() des pb=new B(x,y,z) respectant le prototype de B

    mais l'absence de (note) est peut etre la source de l'erreur ? qu'ne penses tu ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compilation impossible, missing type specifier
    Par hannibal.76 dans le forum Débuter
    Réponses: 4
    Dernier message: 13/03/2012, 10h39
  2. Réponses: 4
    Dernier message: 11/08/2011, 16h25
  3. Invalid web service call, missing value for parameter
    Par lutecefalco dans le forum ASP.NET
    Réponses: 4
    Dernier message: 10/03/2010, 15h01
  4. [Débutant]Classe d'Authentification : compilation impossible
    Par acyclique dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/08/2003, 19h42
  5. Compilation impossible
    Par Michaël dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 20/08/2003, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo