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 :

Probl�me: error C2593: 'operator +' is ambiguous


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    49
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Par d�faut Probl�me: error C2593: 'operator +' is ambiguous
    Bonjour,

    J'essaye de compiler un fichier avec Visual Studio 2005 et j'ai l'erreur suivante quand je compild mon code:

    Code X : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    error C2593: 'operator +' is ambiguous
       could be 'built-in C++ operator+(int, short)'
    1>        or       'built-in C++ operator+(int, int)'
    1>        or       'built-in C++ operator+(int, bool)'
    1>        or       'built-in C++ operator+(int, float)'
    1>        or       'built-in C++ operator+(int, double)'
    1>        while trying to match the argument list '(int, itpp::bin)'

    voici mon code. J'ai mis mon erreur en gras.

    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
    #include "conv_code_delay.hpp"
    #include <itpp/itcomm.h>
    #include <math.h>
    
    
    namespace itpp
    {
    
    ...
    
    
    bvec Convolutional_Code_derived::sdvd(cvec deinterleaved_symbol,int g[2][K], float es_ovr_n0, long channel_length)
    {
    	int *decoder_output_matrix;
        int i, j, l, ll;                          /* loop variables */
        long t;                                   /* time */
        int memory_contents[K];                   /* input + conv. encoder sr */
        int input[TWOTOTHEM][TWOTOTHEM];          /* maps current/nxt sts to input */
        int output[TWOTOTHEM][2];                 /* gives conv. encoder output */
        int nextstate[TWOTOTHEM][2];              /* for current st, gives nxt given input */
        int accum_err_metric[TWOTOTHEM][2];       /* accumulated error metrics */
        int state_history[TWOTOTHEM][K * 5 + 1];  /* state history table */
        int state_sequence[K * 5 + 1];            /* state sequence list */
     
        int *channel_output_matrix;               /* ptr to input matrix */
    
        int binary_output[2];                     /* vector to store binary enc output */
        int branch_output[2];                     /* vector to store trial enc output */
     
        int m, n, number_of_states, depth_of_trellis, step, branch_metric,
            sh_ptr, sh_col, x, xx, h, hh, next_state, last_stop; /* misc variables */
    .....
    
    
      branch_metric += branch_metric + abs( *( channel_output_matrix +
                        ( 0 * channel_length + t ) ) - 7 * binary_output[0] ) +
                                                    abs( *( channel_output_matrix +
                        ( 1 * channel_length + t ) ) - 7 * binary_output[1] );
    
    
    ...
    
    }
    Merci,

    Somaa

  2. #2
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par d�faut
    Je ne sais pas ce qu'est un itpp::bin, mais il doit avoir un op�rateur de conversion vers int, double, bool, ...

    Du coup, le compilateur ne sait pas lequel choisir.

    Caste explicitement l'op�rande de droite du plus en int, et tu l�veras l'ambiguit�.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    49
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Par d�faut
    effectivement , ca r�soud le probl�me en faisant un cast explicite ((int) devant)

    Merci,
    Somaa

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

Discussions similaires

  1. Probl�me Error Timeout
    Par TobTob dans le forum ASP.NET
    R�ponses: 5
    Dernier message: 09/11/2007, 08h43
  2. Probl�me Error LNK2001
    Par manukubs42 dans le forum C++
    R�ponses: 3
    Dernier message: 16/10/2007, 11h39
  3. R�ponses: 5
    Dernier message: 13/07/2007, 14h51
  4. R�ponses: 2
    Dernier message: 15/11/2005, 10h59

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