Partage
  • Partager sur Facebook
  • Partager sur Twitter

prototype does not match any in class

problèmes lors de la compilation d'un programme

Sujet résolu
    14 novembre 2019 à 21:00:12

    Bonjours à tous, je suis actuellement sur un programme d'essai qui me renvoi des erreurs que je ne comprend pas lors de la compilation

    pourriez vous m'indiquer mes erreurs ?

    Main.cpp

    #include <iostream>
    #include <fstream>
    #include <math.h>
    #include <vector>
    
    #include "class.h"
    
    using namespace std;
    
    int main(){
    
    	Tableau plateau;
    	plateau.Etat();
    
    	return 0;
    }



    class.h

    #include <iostream>
    #include <vector>
    
    class Pion{
    
    	public:
    
    		//constructeurs
    		Pion();
    		Pion(int colonne, int ligne);
    
    		//méthodes
    		void deplacement();
    		void demiTour();
    		void apparaitre() const;
    
    
    	private:
    		//attributs
    		int m_colonne;
    		int m_ligne;
    		int m_orientation;
    		int m_type;
    };
    
    
    class Tableau{
    	public:
    
    		//constructeurs
    		Tableau();
    
    		//méthodes 
    		void Etat() const;
    		void PlacerPion(Pion &obj);
    
    
    	private:
    		//attributs
    		std::vector<std::vector<int>> m_plateau;
    };



    et class.cpp

    #include <iostream>
    #include <vector>
    #include <string>
    
    #include "class.h"
    
    using namespace std;
    
    
    
    //méthodes du pion
    
    Pion::Pion(){
    	m_colonne=0;
    	m_ligne=0;
    	m_orientation=0;
    	m_type=0;
    }
    
    Pion::Pion(int colonne, int ligne){
    
    	m_colonne = colonne;
    	m_ligne = ligne;
    	m_orientation = 1;
    
    	if (colonne == 1){             // si la colonne de départ du pion est 1, il appartient au premier joueur
    		m_type =1;
    	} else {                       // sinon sa ligne de départ est forcément 7 et il appartient au second joueur
    		m_type = 2;
    	}
    
    }
    
    
    void Pion::deplacement(Pion &nom){
    
    }
    
    
    void Pion::demiTour(Pion &nom){
    
    }
    
    void Pion::apparaitre(vector<vector<int>> tab){
    
    }
    
    
    
    
    //méthodes du tableau
    
    Tableau::Tableau(){
    	vector<vector<int>> plateau;
    
    
    	for (int i = 0; i < 8; i++)
    	{
    		for (int y = 0; y < 8; y++)
    		{
    
    			if ((i == 1 and y == 1) or (i == 1 and y == 7) or (i == 7 and y == 1)){
    
    				plateau[i][y] = 4;
    
    			}else if(i == 0){
    
    				plateau[i][y] = 3;
    
    			}else if(y == 0){
    
    				plateau[i][y] = -3;
    
    			}else{
    
    				plateau[i][y] = 0;
    			}
    		}
    	}
    
    	m_plateau = plateau;
    }
    
    
    void Tableau::Etat(){
    	for (int i = 0; i < m_plateau.size; ++i)
    	{
    		for (int y = 0; y < m_plateau.size; ++y)
    		{
    			switch(m_plateau[i][y]){
    
    				case 4:
    					cout << "x" << " ";
    					break;
    
    				case 1:
    					cout << ">" << " ";
    					break;
    
    				case -1:
    					cout << "<" << " ";
    					break;
    
    				case 2:
    					cout << "^" << " ";
    					break;
    
    				case -2:
    					cout << "v" << " ";
    					break;
    
    				default:
    					cout << "." << " ";
    					break;
    			}
    
    			cout << endl;
    		}
    	}
    }

    mon copilateur me renvoi :

    aleexandre-bergerault@HP-Alexandre:~/winhome/desktop/Info/TP/Projet-info$ g++ main.cpp class.h class.cpp -o main
    class.cpp:35:6: error: prototype for ‘void Pion::deplacement(Pion&)’ does not match any in class ‘Pion’
     void Pion::deplacement(Pion &nom){
          ^~~~
    In file included from class.cpp:5:0:
    class.h:13:8: error: candidate is: void Pion::deplacement()
       void deplacement();
            ^~~~~~~~~~~
    class.cpp:40:6: error: prototype for ‘void Pion::demiTour(Pion&)’ does not match any in class ‘Pion’
     void Pion::demiTour(Pion &nom){
          ^~~~
    In file included from class.cpp:5:0:
    class.h:14:8: error: candidate is: void Pion::demiTour()
       void demiTour();
            ^~~~~~~~
    class.cpp:44:6: error: prototype for ‘void Pion::apparaitre(std::vector<std::vector<int> >)’ does not match any in class ‘Pion’
     void Pion::apparaitre(vector<vector<int>> tab){
          ^~~~
    In file included from class.cpp:5:0:
    class.h:15:8: error: candidate is: void Pion::apparaitre() const
       void apparaitre() const;
            ^~~~~~~~~~
    class.cpp:85:6: error: prototype for ‘void Tableau::Etat()’ does not match any in class ‘Tableau’
     void Tableau::Etat(){
          ^~~~~~~
    In file included from class.cpp:5:0:
    class.h:34:8: error: candidate is: void Tableau::Etat() const
       void Etat() const;



    merci de votre aide :D



    -
    Edité par AlexandreBergerault 14 novembre 2019 à 21:01:55

    • Partager sur Facebook
    • Partager sur Twitter
      14 novembre 2019 à 21:44:36

      Salut

      L’utilisation de using namespace std est une mauvaise pratique.

      Tu n'as pas écrit les paramètres dans les déclarations de tes fonctions membres.

      • Partager sur Facebook
      • Partager sur Twitter
        14 novembre 2019 à 22:09:44

        je viens de m'en rendre compte, j'ai fait des erreurs très stupides 

        excusez mon manque d'attention

        merci @XxAnoth-ChaxX

        • Partager sur Facebook
        • Partager sur Twitter

        prototype does not match any in class

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown