1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C++ => Ambiguous call to overloaded function

Discussão em 'Programação' iniciada por c1t1z3n, 9 de Maio de 2007. (Respostas: 3; Visualizações: 959)

  1. c1t1z3n

    c1t1z3n Power Member

    boas,

    tou aqui a fazer um trabalho em c++ para uma cadeia, e isto começou a levantar este erro estranho..
    tenho a seguinte classe:

    class item
    {
    public:

    item(string id_, string datatype_, int periodo_=1, string headerfile_="");
    item(const item& it);

    void set_id(string id_);
    void set_datatype(string datatype_);
    void set_periodo(int periodo_);
    void set_headerfile(string headerfile_);

    string get_id();
    string get_datatype();
    int get_periodo();
    string get_headerfile();

    item& operator=(const item& var);
    item operator*();
    virtual ~item();



    e no main chamo a funçao item do seguinte modo:
    item var3("string1", "string2");

    e aparece-me aquele erro...


    o original tinha mais construtores para a classe item, mas comentei-os e agora removi-os mesmo por causa dos erros de ambiguidade, de qualquer modo, funcionam todos direitinho, so quando chamo a funçao com 2 argumentos apenas é que vai tudo abaixo...

    agradecia ajuda,

    obrigado
     
  2. type0

    type0 Power Member

    não vejo aí nesse código um construtor com 2 parâmetros, será disso?
     
  3. hYpe

    hYpe [email protected] Member

    Disso não é..

    Se tiveres construtores com 4 parametros, em que dois deles teem valores por defeito, podes fazer a chamada passando apenas os parametros que não teem esses mesmos valores...

    Tambem nao estou a ver do que possa ser... :\
     
  4. sapropel

    sapropel Power Member

    provavelmente tens aí um costructor que também recebe 2 arrays de chars como argumentos.
    item var3( (string)"string1", (string)"string2" );
    isso deve resolver o problema, se bem que não fica muito bonito :p
     

Partilhar esta Página