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 :

[débutant]Problème de compatibilité de format tableau


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 73
    Par défaut [débutant]Problème de compatibilité de format tableau
    Bonjour,
    Je suis débutante et je travaille sur un projet de traitement d'un fichier .wav sur VC++ 2008.
    J'ai un problème de compatibilité entre le vecteur reçu à la sortie d'openAL et le format sous lequel je calcule mon spectre. J'ai essayé plusieurs choses mais ça ne fonctionne pas.
    Le type à la sortie d'openAL est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    std::vector<ALshort>
    et le type pris en compte par ma fft est:J'ai essayé de placer les valeurs dans un tableau de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int n=0;
    	n= B.sampling(n);
    	float *tab1=0.f;
    	int i=0;
     
    for (i=0; i=n; i++)
    {
     
    	tab1[i]=Samples[i];
     
    }
    mais j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     error C2440: 'initializing' : cannot convert from 'float' to 'float *'
    Avez vous des suggestions?
    Merci
    Cdlt
    Gate35

  2. #2
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    Y a rien qui te choque ici ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 73
    Par défaut Re
    Je devrais?Ah oui l'allocation de toute la liste c'est ça ?je l'initialise comment alors?Désolée je débute et c'est dur!
    Merci

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    En outre, je rajouterais que probablement ton autre interface attend un float* car elle attend un tableau (avec certainement une taille associée ?). En ce cas, tu n'as pas besoin de convertir tes données, mais tu peux t'appuyer sur &Samples[0] car std::vector te garantie que les données se suivent.
    Quelle est la déclaration de la fonction fft où tu veux injecter tes données ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 73
    Par défaut
    La déclaration de la fft est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int Processing :: fft1d( float *a,  int n, int isgn )

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Donc il est probable que tu puisse faire un appel du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ton_objet.fft1d( &Samples[0],  Samples.size(), ??? )
    En gros, ne pas faire de recopie de std::vector<float> vers un float* dynamique.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 73
    Par défaut
    En m'appuyant sur J'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     error C2664: 'Processing::fft1d' : cannot convert parameter 1 from 'short *' to 'float *'

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 73
    Par défaut
    après avoir relu votre réponse précédente j'ai remis en float et j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     error C2664: 'SaveSound' : cannot convert parameter 2 from 'float *' to 'const std::vector<_Ty> &'
    1>        with
    1>        [
    1>            _Ty=float
    1>        ]
    1>        Reason: cannot convert from 'float *' to 'const std::vector<_Ty>'
    1>        with
    1>        [
    1>            _Ty=float
    1>        ]
    1>        No constructor could take the source type, or constructor overload resolution was ambiguous

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2011, 13h38
  2. Problème de compatibilité tableau
    Par jmjmjm dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/05/2006, 16h55
  3. [Débutant] Problème de création et de remplissage de tableau
    Par pinggu dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 24/05/2006, 15h50
  4. [débutant]problèmes d'affichage dans un tableau
    Par Hastur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 16/08/2005, 12h00
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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