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 :

objet membre erreurs , C3646 & C4430.


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 2
    Points : 8
    Points
    8
    Par défaut objet membre erreurs , C3646 & C4430.
    Bonjour a tous.
    Je fais actuellement un projet d'étude (SFML) et je rencontre un problème qui commence de plus en plus a me décourager.

    Dans ce projet , l'utilisateur contrôle un personnage (chasseur) qui doit tirer sur un/des loups qui sont généré.
    Le Problème que je rencontre est particulier :
    Dans ma classe Personnage , j'ai ajouté un objet membre issu de la classe C_FLECHE qui permettais de tirer des flèches à l'aide d'une méthode tir depuis la position du personnage jusqu'à l'extrémité de la texture de fond.

    TOUT FONCTIONNAIT bien , j'ai donc continué a développer la collision du loup mais depuis hier , quand j'ajoute un objet membre à une classe je constate toujours des erreurs,
    pourtant je ne crois pas avoir modifié mes constructeur et le programme fonctionne très bien sans la partie attribué à la flèche.

    je me retrouve avec les erreurs :


    C3646 spécificateur de substitution inconnu
    C4430 spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défaut


    Je peux vous fournir n'importe quel partie de mon code , Merci pour les réponse futur et désolé pour les fautes d'orthographes si il y en a.


    SOUS VISUAL STUDIO 2015:


    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    #ifndef C_PERSONNAGE_H
    #define C_PERSONNAGE_H
    #include "C_ENTITE.h"
    #include "C_Fleche.h"
    #include "C_LOUP.h"
     
     
    #include <SFML\Graphics.hpp>
    #include <SFML/OpenGL.hpp> // ajout de open gl cour 3
     
    using namespace std;
    using namespace sf;
     
     
    class C_PERSONNAGE : protected C_ENTITE {
    public:
    	friend void Gestion_Entrees();
    	friend class C_LOUP;
     
     
    	C_PERSONNAGE();
    	C_PERSONNAGE(char* P_Chemin_Texture, int P_Position_X, int P_Position_Y);
     
    	C_Fleche La_Fleche; // ERREUR SIGNALE ICI
     
    	using C_ENTITE::Retourne_Sprit;
    	inline Sprite Retourne_Sprit();
     
    	using C_ENTITE::Debug_Affiche_Donnes;
    	inline void Debug_Affiche_Donnes();
     
    	bool Tir();
    	bool Deplacement(bool P_Destination);
     
     
     
     
     
    protected:
     
    	int Points_De_Vie;
     
     
    	bool Positionnement;
    	int Position_X;
    	int Position_Y;
     
     
    };
     
    #endif // !C_PERSONNAGE_H

    C_FLECHE.h :


    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    #ifndef C_FLECHE_H
     
    #define	C_FLECHE_H
     
     
    #include <SFML\Graphics.hpp>
    #include <SFML/OpenGL.hpp>
     
    #include "C_LOUP.h"
    #include "C_PERSONNAGE.h"
     
    using namespace std;
    using namespace sf;
     
    class C_Fleche {
     
    public:
    	C_Fleche();
    	C_Fleche(int P_Postion_X, int P_Postion_Y);
     
    	inline Sprite Retourne_Sprite();
    	inline void Positionne_Toi();
    	inline void Positionne_Toi(int P_Positon_X);
    	inline void Disparait();
     
    	inline void Propulsion(bool P_Sens_Tir,int P_Postion);
     
     
     
    	int Position_X;
    	int Position_Y;
     
     
    protected:
     
     
    	bool Position_Fleche;
    	const int Degat;
     
     
    	Sprite Sprite_Fleche;
    	Texture Texture_Fleche;
     
     
    }
     
    //suivit des methodes inline ... 
    #endif // !C_ENTITE_H


    C_FLECHE.cpp :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
     
    #include <SFML\Graphics.hpp>
    #include <SFML/OpenGL.hpp>
    #include <iostream>
     
    #include "C_ENTITE.h"
    #include "C_PERSONNAGE.h"
    #include "C_LOUP.h"
    #include "C_Fleche.h"
    using namespace std;
    using namespace sf;
     
     
    C_Fleche::C_Fleche()
    	:Degat(50),Position_X(690), Position_Y(1500), Position_Fleche(true)
    {
     
     
    	if (!Texture_Fleche.loadFromFile("C:/Users/user/Documents/Visual Projet SFML/Textures/Fleche.psd"))
    	{
    		cout << "Erreur durant le chargement de l'image Objet" << endl;
    		cout << __FUNCTION__ << endl;
    	}
     
     
    	else
    	{
     
     
    		Texture_Fleche.setRepeated(true);
    		Sprite_Fleche.setTexture(Texture_Fleche);
    		Sprite_Fleche.setPosition(Vector2f(1500, Position_Y));
    		Sprite_Fleche.scale(0.5f, 0.5f);
    		Sprite_Fleche.setColor(sf::Color(255, 255, 255, 0));//Invisible
     
     
    	}
    }
     
     
     
     
    C_Fleche::C_Fleche(int P_Postion_X, int P_Postion_Y)
    	:Degat(50),Position_X(P_Postion_X),Position_Y(P_Postion_Y),Position_Fleche(true)
    {
     
     
     
     
    	if (!Texture_Fleche.loadFromFile("C:/Users/user/Documents/Visual Projet SFML/Textures/Fleche.psd"))
    	{
    		cout << "Erreur durant le chargement de l'image Objet" << endl;
    		cout << __FUNCTION__ << endl;
    	}
     
     
    	else
    	{
     
    		Texture_Fleche.setRepeated(true);
    		Sprite_Fleche.setTexture(Texture_Fleche);
    		Sprite_Fleche.scale(0.5f, 0.5f);
    		Sprite_Fleche.setPosition(Vector2f(1500, Position_Y));
    		Sprite_Fleche.setColor(sf::Color(255, 255, 255, 0));//Invisible
     
    	}
     
    }

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Un mot mal orthographié ou un simple point-virgule manquant peuvent donner ces erreurs.
    Pour une aide sur des erreurs, fournis à minima les lignes de codes provoquant ces erreurs.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 2
    Points : 8
    Points
    8
    Par défaut
    Solution trouvé , grâce a M Laurent de "sfml-dev.org" :

    Tu as un cycle d'inclusions (personnage.h inclue fleche.h et vice-versa). Il faut casser ce cycle sinon le compilateur va tourner en rond à l'infini, et terminer sur une erreur qui te semble n'avoir rien à voir.

    A priori ici c'est très facile, fleche.h n'a pas l'air d'avoir besoin de personnage.h.
    Merci pour la réponse quand même.

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

Discussions similaires

  1. Objet Range erreur dans selection.sort
    Par kdestine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/09/2007, 12h46
  2. objet RANGE erreur 1004
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/08/2007, 21h47
  3. Réponses: 14
    Dernier message: 26/10/2006, 14h44
  4. Objet.evenement --> Erreur : Non implémenté
    Par Darkdaemons dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/09/2005, 17h24

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