Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    152

    [c++] Array di Oggetti?

    Salve a tutti!!

    Ho un problema con una classe Ordini.h il cui file Ordini.cpp è il seguente:

    #include <iostream.h>
    #include <string>

    #include "Ordini.h"


    Ordini::Ordini(string Name, int num)
    {
    m_Name = Name;
    m_num = num;
    Fac = new float[m_num];
    compName = new string[m_num];
    }

    Ordini::~Ordini(){
    delete[] Fac;
    delete[] compName;
    }



    In un file prova.cpp ho un array di oggetti di tipo "Ordini";

    int nOrd = 2;
    Ordini *pOrdine = new Ordini[nOrd];
    pOrdine[0] = new Ordini("penne",3);

    Quando vado a compilare mi da il seguente errore:

    prova.cpp : In function `int main ()':
    prova.cpp :29: no matching function for call to`Ordini::Ordini ()'
    Ordini.h:16: candidates are: Ordini::Ordini
    (basic_string<char, string_char_traits<char>,
    __default_alloc_template<true, 0> >, int)
    Ordini.h:24: Ordini::Ordini (const Ordini &)
    prova.cpp :30: no match for `Ordini & = Ordini*& 'Ordini.h:24: candidates are: Ordini &Ordini:perator= (const
    Ordini &)

    Da cosa può dipendere?? Grazie mille
    andry80

  2. #2
    prova.cpp devi compilarlo assieme a Ordini.cpp

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    152
    No, ci avevo già provato...
    Il problema permane.

    andry80

  4. #4
    non hai dichiarato il costruttore di base

    public:
    Ordini::Ordini(){}

    che c++ prova a richiamare quando fai
    Ordini *pOrdine = new Ordini[nOrd];

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    152
    Avevi ragione.
    Mi ero dimenticato il costruttore non parametrico.
    Il problema purtoppo resta.
    Il compilatore mi da sempre lo steso messaggio di errore.
    andry80

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    152
    prova.cpp:29: no match for `Ordini & = Ordini *&'
    Ordini.h:34: candidates are: Ordini &Ordini:perator= (const
    Ordini &)

    Ci vuole forse un costruttore di copia???
    andry80

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.