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 vecteur


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 16
    Points
    16
    Par défaut Problème de vecteur
    Bonjour,

    J'ai un problème d'utilisation de la classe vector.

    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
     
    #pragma once
    #include <stdio.h>
    #include <string>
    #include <vector>
     
    (...)
     
    public __gc class Form1 : public System::Windows::Forms::Form
        {
     
    (...)
     
    private:
            std::vector< std::vector <double> > a;
     
    (...)
    };
    Et à la compilation j'obtiens:

    error C3633: cannot define 'a' as a member of managed 'FingerCodeCompare::Form1'

    Je ne sais pas trop ce qui ne va pas...
    Si quelqu'un sait ce qu'il faut faire ou peut me proposer une autre solution (genre un autre conteneur)....

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    Tu peux utiliser le conteneur ArrayList du framework .Net

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    ça me parait pas mal de changer (d'autant que la déclaration d'un ArrayList ne me donne pas l'erreur 3633) mais je n'ai pas trouvé d'exemple d'utilisation de ArrayList.
    Aurais-tu un lien ou quelquechose dans ce goût là pour me sortir de m****? je suis débutant en VC++ et je suis assez perdu...

  4. #4
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    merci beaucoup, ça va m'aider...
    par contre, si quelqu'un connait la raison de l'erreur 3633, je suis preneur...

  6. #6
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    c'est une erreur d'execution ?
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  7. #7
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    c'est parce que tu ne peux pas inclure d'objet non managés dans une classe managée, seulement des pointeurs vers des objets non managés

    (ceci étant valable pour vs2003, pas pour le 2005)


    donc, il te faut définir un pointeur sur a

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    OK, donc en fait, pour continuer avec mes vector, ils suffit que je déclare un pointeur de vecteur plutôt qu'un vecteur...

    Bon, alors tant que j'y suis...
    Je dois ouvrir un fichier binaire géénré par une autre appli. ce fichier contient 640 nombres sous le format double.
    pour l'instant, je fais ça:

    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
     
    ArrayList * Fgc = new ArrayList(640);
    OpenFileDialog1->FileName="";
    OpenFileDialog1->Title = "Charger un FingerCode" ;    
    OpenFileDialog1->Filter="FingerCode (*.fgc)|*.fgc";
    char Chemin[511];
    if(OpenFileDialog1->ShowDialog()== DialogResult::OK){
         sprintf(Chemin,"%s",OpenFileDialog1->FileName);
         pFile2 = fopen (Chemin,"rb");
         if (pFile2!=NULL){
              char * buffer = (char*) malloc (sizeof(double));
              if (buffer == NULL) exit (2);
              fread (buffer,1,sizeof(double),pFile2);
              double a=(double) *buffer;
              Label1->Text=a.ToString();
              Fgc->Add(a);
         }
    }
    Cela devrait me renvoyer le 1er chiffre de mon fichier, non? Pourtant je n'obtiens qu'un zéro (ce qui n'est aps le 1er chiffre de mon fichier).
    Où est donc la boulette?

  9. #9
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    euh je te conseille d'éviter de mélanger du C (malloc) avec du C++

    si possible utilise new au lieu de malloc et regarde si ya pas une classe gérant les fichiers dans le framework
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Finalement, j'ai laissé tomber le buffer et j'ai directement écrit dans un double:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (pFile2!=NULL){
                         double a;
                         fread (&a,1,sizeof(double),pFile2);
                         Label1->Text=a.ToString();
                         Fgc->Add(a);
    Et ça marche nickel... Je sais pas pourquoi j'ai été m'embeter avec un buffer quand j'en avai aps besoin!

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    Citation Envoyé par hiko-seijuro
    regarde si ya pas une classe gérant les fichiers dans le framework
    Ca se trouve dans le namespace System::IO ...

  12. #12
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    désolé je n'ai jamais fait de .net c'est pour ca que je disais ca lol
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  13. #13
    Membre confirmé
    Avatar de Nicolas Bauland
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 119
    Points : 563
    Points
    563
    Par défaut
    N'oublie pas le resolu si c'est bon !

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

Discussions similaires

  1. Problème de vecteur
    Par bitter00 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 18/08/2011, 14h54
  2. Problème de Vecteur
    Par larchicha dans le forum Débuter
    Réponses: 17
    Dernier message: 27/04/2010, 14h58
  3. [ode45] problème taille vecteurs
    Par chardonnette dans le forum MATLAB
    Réponses: 3
    Dernier message: 30/01/2009, 10h31
  4. petit problème de vecteur
    Par Ulfguard dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 16/05/2007, 11h09
  5. Problème orientation vecteur directeur
    Par Ryan_ dans le forum DirectX
    Réponses: 1
    Dernier message: 14/02/2007, 19h24

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