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++/CLI Discussion :

[Visual Express] Declaration de variables


Sujet :

C++/CLI

  1. #1
    Membre confirm� Avatar de userB
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Par d�faut [Visual Express] Declaration de variables
    Bonjour tout le monde,
    J'ai actuellement un probleme ultra, mais alors ultra con, il m'est impossible de declarer mes variables ....
    Je sais vraiment pas quoi faire, je vous laisse seul juge :
    mon .cpp :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    #include "StdAfx.h"
    #include "Simulation.h"
    #include <string.h>
    #include <cstdlib>
    #include <cstdio>
    Simulation::Simulation(void)
    {
    }
    mon .h :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #pragma once
     
    ref class Simulation
    {
    private:
        int i ;
    	std :: string nom;
    public:
    	Simulation(void);
     
    };
    Mes messages d'erreurs :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    c:\dev\v1\tsim2006v1\tsim2006v1\Simulation.h(7) : error C2653: 'std' : is not a class or namespace name
     
    c:\dev\v1\tsim2006v1\tsim2006v1\Simulation.h(7) : error C2146: syntax error : missing ';' before identifier 'nom'
     
    c:\dev\v1\tsim2006v1\tsim2006v1\Simulation.h(7) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
     
    c:\dev\v1\tsim2006v1\tsim2006v1\Simulation.h(7) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    Voila, j'ai pourtant fait 3 ans de C++ sous borland et je n'ai jamais eu de tel soucis, je suis completement desempar�.
    J'espere que vous pourrez m'aider.

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    faudrait inclure iostream dans le .h

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Ou utiliser les strings de .Net (System::String).

    Egalement, on ne doit plus inclure <string.h> en C++. On inclut soit <string> (ui d�clare les std::string), soit <cstring> (l'�quivalent du string.h du C)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre confirm� Avatar de userB
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Par d�faut
    incredibleu !! voila que ca marche, c'est merveilleux, fantastique !!!
    Un tres tres grand merci ( mais il me semblait avoir appris que les include etait uniquement dans les .cpp )
    Maintenant une derniere question et je me sentirais enfin libre de toute entraves de developpemnt @visual express:
    j ai un dernier message d'erreur sur la declaration de ma variable de type string :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    Matrice.cpp
    c:\dev\v1\tsim2006v1\tsim2006v1\Matrice.h(8) : 
    error C4368: cannot define 'nom' as a member of managed 'Matrice': mixed types are not supported
    .
    Pour information sa declaration se deroule comme suit :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #pragma once
    #include <iostream>
    //#include <string.h>
     
     
    ref class Matrice
    {
    private:
    	  std :: string MatNom;
    	  int _nbrligne;
    edit : Seconde reponse pas vu entretemps, j ai actualis� le code en modifiant les string.h par des <string>, mais le probleme subsiste toujours

  5. #5
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    tu as deux solutions
    - soit tu utilises les String de .Net (ce qui est une bonne solution )
    - soit tu enleves ce warning avec la commande suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    #pragma warning( once : 4368 )

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    C'est pas un warning : C'est une erreur.

    Aussi, la seconde solution, c'est : "soit tu fais de Matrice un type non-manag�".
    Autant dire que la premi�re, c'est la bonne...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre confirm� Avatar de userB
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Par d�faut
    place au jeune, place au nouveau, je vais donc me tourner vers la premiere solution.
    Un grand merci a vous tous!

  8. #8
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Citation Envoy� par M�dinoc
    C'est pas un warning : C'est une erreur.
    sisi c'est un warning http://msdn2.microsoft.com/en-us/library/xhfb39es.aspx
    on peut bien sur utiliser des objets "natif" dans un classe manag�s, le plus simple �tant d'utiliser un pointeur

  9. #9
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Ah, OK.
    Citation Envoy� par MSDN
    This warning is always issued as an error. Use the warning pragma to disable C4368.
    Je ne savais m�me pas que c'�tait possible avec ce compilo, puisque l'option "warnings as errors" g�n�re une erreur � part plut�t que de traiter directement le warning comme une erreur...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre confirm� Avatar de userB
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Par d�faut
    Bon je suis vraiment confus de vous faire perdre votre temps avec des questions aussi .... comment dire .... debile ? naive ? Mais cette refonte des normes standard avec visual express C++ me sort par les trou de nez.
    Je n'arrive pas a declarer un vector tout bete, je me fait jeter dans tous les sens
    J'ai essay� avec :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    std::vector<int> MonVecteur;
    //--------------------------
    typedef std::vector<int> MesMat;
    MesMat m_MesMat;
    J'ai toujour le meme message d'erreur qui me renvoit a une page assez incomprehensible :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    c:\dev\v1\tsim2006v1\tsim2006v1\Simulation.h(16) : error C3633: cannot define 'Hist_Pitch' as a member of managed 'Simulation'
            because of the presence of assignment operator 'std::vector<_Ty>::operator =' on class 'std::vector<_Ty>'
            with
            [
                _Ty=int
            ]
            C:\Program Files\Microsoft Visual Studio 8\VC\include\vector(549) : see declaration of 'std::vector<_Ty>::operator ='
            with
            [
                _Ty=int
            ]
    J'ai effectuer plusieurs recherche et notamment sur le site mais j'en revien toujours a la declaration "classique" d'un vector a savoir :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::vector<TypeDeDonné> NomVector;
    Quant a la page a laquelle Visual me renvoit, elle me donne ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    vector()
    		: _Mybase()
    		{	// construct empty vector
    		_Buy(0);
    		}
    Comment m'y prendre ?

  11. #11
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    comme d�j� dit, si tu veux utiliser un objet natif dans une classe manag�e, le plus simple est de passer par un pointeur

    sinon, utilise les conteneurs de .Net ou ne fait pas de classe manag�e

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

Discussions similaires

  1. R�ponses: 2
    Dernier message: 30/06/2006, 10h51
  2. R�ponses: 6
    Dernier message: 23/09/2005, 12h54
  3. Problème déclaration de variable dans un package
    Par LE NEINDRE dans le forum Modules
    R�ponses: 3
    Dernier message: 23/08/2005, 18h26
  4. Comment déclarer une variable globale
    Par davkick dans le forum C
    R�ponses: 13
    Dernier message: 20/05/2005, 18h50
  5. declarer une variable dans le query analyzer
    Par graphicsxp dans le forum MS SQL Server
    R�ponses: 8
    Dernier message: 29/03/2005, 11h26

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