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

MFC Discussion :

Probl�me de portage d'un source cr�� sous Console vers MFC SDI


Sujet :

MFC

  1. #1
    Membre extr�mement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par d�faut Probl�me de portage d'un source cr�� sous Console vers MFC SDI
    Bonjour !

    J'ai test� en premier sous une application console un fichier H et CPP pour test, �a marche et il n'y a aucune erreur de compilation ni de warning.
    Mais que je transporte les deux fichiers sur une nouvelle application MFC en interface sur une seule fen�tre (SDI), il se produit plusieurs erreurs (pour mon cas, c'est au nombre de 94) m�me si j'ai mis l'inclusion de "stdafx.h", voici quelques unes de ces erreurs:
    sur la ligne 59:
    d:\graphe gui\graph.h(59) : error C2143: syntax error : missing ';' before '*'
    d:\graphe gui\graph.h(59) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    d:\graphe gui\graph.h(59) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    d:\graphe gui\graph.h(59) : warning C4183: 'findArc': missing return type; assumed to be a member function returning 'int'

    qui contient le code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    	Arc * findArc(const std::string& StartNodeLabel, const std::string& EndNodeLabel);
    Or, tout est OK, la classe Arc est bien d�clar�e et d�finie.

    Je l'ai test� sur VS 2003 mais �a bogue trop m�me pour:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    vector<vector<int>> tab(5, vector <int>(6));
    o� il faut mettre un espace pour que �a marche :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    vector<vector<int> > tab(5, vector <int>(6));
    , cette version est loin d'�tre fiable (bizarre) donc je suis pass� � VS 2005 et le nombre d'erreurs est descendu mais encore au nombre de 94.

    Voici une partie du code (le fichier H) qui ne contient aucune erreur syntaxique ni s�mantique, je ne sais plus quel est le probl�me, peut-�tre une manque des include puisqu'on travaille sous MFC, faut-il ajouter des directives #if, #endif ?
    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 "stdafx.h"
     
    #include<iostream>
    #include<list>
    #include<vector>
    #include<string>
    #include<algorithm>
     
    using namespace std;
     
    class SquareMatrix : protected std::vector<int>
    {
    public:
    	SquareMatrix(unsigned int _n=0);
    	int& operator ()(int i, int j);
    	int operator ()(int i, int j) const;
    	SquareMatrix operator +(const SquareMatrix& A) const;
    	SquareMatrix operator *(const SquareMatrix& A) const;
    private:
    	unsigned int n;
    };
     
    class Node
    {
    public:
    	Node(const std::string& _Label);
    	std::string getLabel() const;
    	void addNextNode(Node * _NextNode);
    	void addPreviousNode(Node * _NextNode);
    	void explore(std::list<Node *>& ReachableNodes);
    	friend class OrientedGraph;
    private:
    	std::string Label;
    	std::list<Node *> PreviousNodes;
    	std::list<Node *> NextNodes;
    };
     
    class Arc
    {
    public:
    	Arc(Node * _StartNode, Node * _EndNode, double _Weight=1.0);
    	Node * getStartNode() const;
    	Node * getEndNode() const;
    	double getWeight() const;
    private:
    	Node * StartNode;
    	Node * EndNode;
    	double Weight;
    };
     
    class OrientedGraph
    {
    public:
    	OrientedGraph():UpToDate(false){}
    	~OrientedGraph() {}
    	bool addNode(const std::string& NewNodeLabel);
    	bool addArc(const std::string& StartNodeLabel, const std::string& EndNodeLabel,double Weight=1.0);
    	Node * findNode(const std::string& NodeLabel);
    	Arc * findArc(const std::string& StartNodeLabel, const std::string& EndNodeLabel);
    	void computeTransitiveClosure();
    	void getReachableNodesFrom(const std::string& SourceNodeLabel,std::list<Node *>& ReachableNodes);
    	bool isStronglyConnected();
    	void getMaximalStronglyConnectedComponentFrom(const std::string& SourceNodeLabel,std::list<Node *>& ConnectedNodes);
    private:
    	std::list<Node *> NodesList;
    	std::list<Arc *> ArcsList;
    	std::vector<SquareMatrix> A;
    	bool UpToDate;
    };
    randriano.dvp.com
    D�veloppeur. Product Owner [Agile]. Sites web, mobile apps, syst�me d'information (SI).

  2. #2
    Lucas Panny
    Invit�(e)
    Par d�faut
    Salut everybody !

    Il m'est arriv� aussi la m�me chose randriano ! Donc, d�sol� je ne peux pas t'aider, j'attends aussi les r�ponses � ton probl�me.
    Il est bizarre que sous Visual C++, un code qui fonctionne en console ne marche plus en MFC. Est-ce un bug de VS 2005 ?

  3. #3
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    vector<vector<int> > tab(5, vector <int>(6));
    l'espace entre les deux sup�rieurs est standard en c++.
    pour le reste :
    j'�viterais de placer stdafx.h dans le .h de la classe (plut�t dans le source),
    et je rajouterai un pragma once pour �viter la r�inclusion..

  4. #4
    Membre extr�mement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par d�faut
    Citation Envoy� par farscape Voir le message
    salut,
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    vector<vector<int> > tab(5, vector <int>(6));
    l'espace entre les deux sup�rieurs est standard en c++.
    pour le reste :
    j'�viterais de placer stdafx.h dans le .h de la classe (plut�t dans le source),
    et je rajouterai un pragma once pour �viter la r�inclusion..
    Ca marche sans espace sous VS 2005, le standard a chang� ?

    J'ai refais juste apr�s mon 1er post de cr�er une classe en faisant un clic droit sur l'arborescence des classes donc #pragma once pour le fichier H et #include "StdAfx.h" dans le CPP, mais �a marche pas ! Les m�me erreurs !

    Avez-vous vu les erreurs annonc�es par l'�diteur, bizarre non ! Ca compile sans error ni warning sous console puis je le transporte en MFC et �a fait des erreurs de plus de 90.

    Voici donc le code complet pour m'�tre plus clair.
    Fichier 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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    #pragma once
     
    #include<iostream>
    #include<list>
    #include<vector>
    #include<string>
    #include<algorithm>
     
    using namespace std;
     
    class SquareMatrix : protected std::vector<int>
    {
    public:
    	SquareMatrix(unsigned int _n=0);
    	int& operator ()(int i, int j);
    	int operator ()(int i, int j) const;
    	SquareMatrix operator +(const SquareMatrix& A) const;
    	SquareMatrix operator *(const SquareMatrix& A) const;
    private:
    	unsigned int n;
    };
     
    class Node
    {
    public:
    	Node(const std::string& _Label);
    	std::string getLabel() const;
    	void addNextNode(Node* _NextNode);
    	void addPreviousNode(Node* _NextNode);
    	void explore(std::list<Node*>& ReachableNodes);
    	friend class OrientedGraph;
    private:
    	std::string Label;
    	std::list<Node*> PreviousNodes;
    	std::list<Node*> NextNodes;
    };
     
    class Arc
    {
    public:
    	Arc(Node* _StartNode, Node* _EndNode, double _Weight=1.0);
    	Node* getStartNode() const;
    	Node* getEndNode() const;
    	double getWeight() const;
    private:
    	Node* StartNode;
    	Node* EndNode;
    	double Weight;
    };
     
    class OrientedGraph
    {
    public:
    	OrientedGraph():UpToDate(false){}
    	~OrientedGraph() {}
    	bool addNode(const std::string& NewNodeLabel);
    	bool addArc(const std::string& StartNodeLabel, const std::string& EndNodeLabel,double Weight=1.0);
    	Node* findNode(const std::string& NodeLabel);
    	Arc* findArc(const std::string& StartNodeLabel, const std::string& EndNodeLabel);
    	void computeTransitiveClosure();
    	void getReachableNodesFrom(const std::string& SourceNodeLabel,std::list<Node*>& ReachableNodes);
    	BOOL isStronglyConnected();
    	void getMaximalStronglyConnectedComponentFrom(const std::string& SourceNodeLabel,std::list<Node*>& ConnectedNodes);
    private:
    	std::list<Node * > NodesList;
    	std::list<Arc * > ArcsList;
    	std::vector<SquareMatrix> A;
    	bool UpToDate;
    };
    Fichier 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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    #include "StdAfx.h"
    #include "orientedgraph.h"
     
    SquareMatrix::SquareMatrix(unsigned int _n):std::vector<int>(_n*_n, 0), n(_n){}
    int& SquareMatrix::operator ()(int i, int j) { return (*this)[ (i-1)*n + j - 1 ]; }
    int SquareMatrix::operator ()(int i, int j) const { return (*this)[ (i-1)*n + j - 1 ]; }
    SquareMatrix SquareMatrix::operator +(const SquareMatrix& A) const {
    	SquareMatrix B(n);
    	//transform() une fonction de algorithm
    	std::transform(begin(), end(), A.begin(), B.begin(), std::plus<int>());
    	return B;
    }
     
    SquareMatrix SquareMatrix::operator *(const SquareMatrix& A) const {
    	SquareMatrix B(n);
    	for (unsigned long i=1;i<=n;i++)
    		for (unsigned long j=1;j<=n;j++)
    			for (unsigned long k=1;k<=n;k++)
    				B(i,j) += (*this)(i,k)*A(k,j);
    	//Ajout de ma part
    	return B;
    }
     
    void Node::addNextNode(Node* _NextNode) { NextNodes.push_back(_NextNode);}
    void Node::addPreviousNode(Node* _NextNode) {PreviousNodes.push_back(_NextNode);}
    void explore(std::list<Node*>& ReachableNodes) { /* A COMPLETER */}
    Node::Node(const std::string& _Label) :Label(_Label){}
    std::string Node::getLabel() const { return Label; }
     
    Arc::Arc(Node* _StartNode, Node* _EndNode, double _Weight):StartNode(_StartNode), EndNode(_EndNode), Weight(_Weight){}
    Node* Arc::getStartNode() const {
    	return StartNode;
    }
    Node* Arc::getEndNode() const {return EndNode;}
    double Arc::getWeight() const {return Weight;}
     
    Node* OrientedGraph::findNode(const std::string& NodeLabel) {
    	Node* ptr = NULL;
    	bool Found = false;
    	std::list<Node*>::iterator i = NodesList.begin(), e = NodesList.end();
    	while ( !Found && i!=e ) {
    		if ( (*i)->getLabel() == NodeLabel ) { ptr = *i; Found = true; }
    		i++;
    	}
    	return ptr;
    }
     
    Arc* OrientedGraph::findArc(const std::string& StartNodeLabel, const std::string& EndNodeLabel) {
    	Arc* ptr = NULL;
    	bool Found = false;
    	std::list<Arc*>::iterator i = ArcsList.begin(), e = ArcsList.end();
    	while ( !Found && i!=e ) {
    		if ( ((*i)->getStartNode()->getLabel() == StartNodeLabel) &&
    			((*i)->getEndNode()->getLabel() == EndNodeLabel) )
    		{
    			ptr = *i; Found = true;
    		}
    		i++;
    	}
    	return ptr;
    }
     
    bool OrientedGraph::addNode(const std::string& NewNodeLabel) {
    	if (findNode(NewNodeLabel)) {
    		std::cerr << NewNodeLabel << " : already used !" << std::endl; return false;
    	}
    	NodesList.push_back(new Node(NewNodeLabel));
    	UpToDate = false;
    	return true;
    }
     
    bool OrientedGraph::addArc(const std::string& StartNodeLabel, const std::string& EndNodeLabel, double Weight) {
    	Node* StartNode = findNode(StartNodeLabel);
    	if (StartNode) {
    		Node* EndNode = findNode(EndNodeLabel);
    		if (EndNode) {
    			ArcsList.push_back(new Arc(StartNode, EndNode, Weight));
    			StartNode->addNextNode(EndNode);
    			EndNode->addPreviousNode(StartNode);
    			UpToDate = false;
    			return true;
    		}
    		else {
    			std::cerr << EndNodeLabel << " : not found !" << std::endl; 
    			return false;
    		}
    	}
    	else {
    		std::cerr << StartNodeLabel << " : not found !" << std::endl; 
    		return false;
    	}
    }
    void OrientedGraph::computeTransitiveClosure() { 
    	return;
    }
    void OrientedGraph::getReachableNodesFrom(const std::string& SourceNodeLabel,std::list<Node*>& ReachableNodes) {
    	return;
    }
    BOOL OrientedGraph::isStronglyConnected() { 
    	return true;
    }
    void OrientedGraph::getMaximalStronglyConnectedComponentFrom(const std::string& SourceNodeLabel,std::list<Node*>& ConnectedNodes) {
    	return;
    }
    randriano.dvp.com
    D�veloppeur. Product Owner [Agile]. Sites web, mobile apps, syst�me d'information (SI).

  5. #5
    Membre extr�mement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par d�faut
    Bonjour !

    J'interp�le encore tous ceux qui ont r�ponse � mon probl�me !
    Pourquoi une classe qui fonctionnait tr�s bien sous console puis port�e sous MFC avec ajout de #pragma once et stdafx.h ne marche plus avec des erreurs bizarres indiqu�es par le compilateur (voir le code source post� pr�c�demment).
    randriano.dvp.com
    D�veloppeur. Product Owner [Agile]. Sites web, mobile apps, syst�me d'information (SI).

  6. #6
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    il y a peut �tre collision avec des noms li�s aux classes MFC .
    je pense a ta classe Arc et Node dont les noms sont beaucoup trop g�n�riques....
    tu as essay� de mettre tout �a dans un espace de nom ?
    sinon je ferais un essai ce matin avec tes classes pour voir .

    [edit]
    je confirme Arc existe c'est une structure.
    [edit]

  7. #7
    Membre �m�rite
    Avatar de Gouyon
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 138
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 138
    Billets dans le blog
    5
    Par d�faut
    Effectivement le portage est probl�matique. Je pratique pour ma part la politique suivante qui est de remplacer mes classes par des classes MFC. C'est beaucoup de travail mais finalement �a fonctionne. Par exemple utilise des CString au lieu de std::string ou des CArray au lieu de vector. Il faut un peu explorer la MFC, je sais c'est chiant mais j'ai obtenu d'assez bon r�sultat comme �a

  8. #8
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    Citation Envoy� par Gouyon Voir le message
    Effectivement le portage est probl�matique. Je pratique pour ma part la politique suivante qui est de remplacer mes classes par des classes MFC. C'est beaucoup de travail mais finalement �a fonctionne. Par exemple utilise des CString au lieu de std::string ou des CArray au lieu de vector. Il faut un peu explorer la MFC, je sais c'est chiant mais j'ai obtenu d'assez bon r�sultat comme �a
    salut,
    ce n'est pas obligatoire ..., j'ai des projets MFC qui utilisent des string et vector et d'autres �l�ments de la stl.

  9. #9
    Membre �m�rite
    Avatar de Gouyon
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 138
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 138
    Billets dans le blog
    5
    Par d�faut
    Citation Envoy� par farscape Voir le message
    salut,
    ce n'est pas obligatoire ..., j'ai des projets MFC qui utilisent des string et vector et d'autres �l�ments de la stl.
    Tout � fait ce n'est absolument pas obligatoire. C'est simplement une solution que j'ai test�e et qui marche plut�t bien.

  10. #10
    Membre extr�mement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par d�faut
    Salut,

    Je vous indique le lien de tout le programme avec fichier solution Visual 2005 pour que vous puissiez tous voir les 63 erreurs rencontr�es sous MFC.
    Je rappelle que les m�me classes utilis�es sous une application console ne g�n�re aucunes erreurs !

    ftp://ftp-developpez.com/randriano/GraphGUI.zip

    Je vais voir entre temps le changement des string en CString et vector en CArray et pour std::list ???? Mais je me pose aussi la question pourquoi la STL ne marcherait pas sous MFC, la STL est puissante non
    randriano.dvp.com
    D�veloppeur. Product Owner [Agile]. Sites web, mobile apps, syst�me d'information (SI).

  11. #11
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    Citation Envoy� par farscape Voir le message
    salut,
    il y a peut �tre collision avec des noms li�s aux classes MFC .
    je pense a ta classe Arc et Node dont les noms sont beaucoup trop g�n�riques....
    tu as essay� de mettre tout �a dans un espace de nom ?
    sinon je ferais un essai ce matin avec tes classes pour voir .

    [edit]
    je confirme Arc existe c'est une structure.
    [edit]
    mais non ,mais non, ne change rien ,j'utilise la stl dans mes programmes MFC sans probl�mes .
    par contre as tu lu ma remarque pr�c�dente ?

  12. #12
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    donc c'est bien le probl�me que j'ai �voqu� dans mon post,
    ta classe Arc rentre en collision avec la structure du m�me nom.
    j'ai modifi� ton projet ,rajouter un espace de nom Gui � ta classe Arc (pour l'essai).
    modifi� deux trois trucs notamment sur la comparaison de string const qui ne passe � la compilation sous vc2005.
    rajouter des headers pour cerr.
    d'ailleurs dans un projet gui MFC il faudra s'en passer ou prendre une autre solution...
    donc je le redis il n'y a pas de probl�mes avec l'utilisation des MFC et de la stl.
    Fichiers attach�s Fichiers attach�s

  13. #13
    Membre extr�mement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par d�faut
    Bonjour,

    En effet, tout mon probl�me est issu d'un conflit de nom, Arc est bel et bien un nom de structure existant.
    J'ai alors renomm� ma classe Arc en CArc ! Faut faire aussi attention car CNode est une classe qui existe donc j'ai maintenu le nom Node pour cette classe.

    Thanks a lot � vous tous chers amis !

    Verdict: on peut utiliser sans probl�me les biblioth�ques STL dans une interface graphique MFC, faut pas s'en priver ?
    randriano.dvp.com
    D�veloppeur. Product Owner [Agile]. Sites web, mobile apps, syst�me d'information (SI).

  14. #14
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    Citation Envoy� par randriano Voir le message
    Bonjour,

    En effet, tout mon probl�me est issu d'un conflit de nom, Arc est bel et bien un nom de structure existant.
    J'ai alors renomm� ma classe Arc en CArc ! Faut faire aussi attention car CNode est une classe qui existe donc j'ai maintenu le nom Node pour cette classe.

    Thanks a lot � vous tous chers amis !

    Verdict: on peut utiliser sans probl�me les biblioth�ques STL dans une interface graphique MFC, faut pas s'en priver ?
    je ne vois aucune raisons de s'en priver, j'utilise la STL dans tous mes projets et je commence m�me avec vc2005 a utiliser Boost.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Le portage du moteur Source sous Linux : les le�ons retenues par Valve
    Par LittleWhite dans le forum D�veloppement 2D, 3D et Jeux
    R�ponses: 0
    Dernier message: 10/10/2013, 21h43
  2. probl�me de source ODBC sous win 2008 web server
    Par mickamar dans le forum MySQL
    R�ponses: 1
    Dernier message: 08/06/2010, 10h41
  3. Probl�me avec une librairie open source sous myEclipse
    Par scaryfan dans le forum EDI et Outils pour Java
    R�ponses: 0
    Dernier message: 01/09/2009, 20h40
  4. Probl�me de source de sous formulaire
    Par jessy212 dans le forum Access
    R�ponses: 3
    Dernier message: 25/08/2006, 14h03
  5. Probl�me d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    R�ponses: 7
    Dernier message: 02/08/2002, 14h18

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