Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491

    [c++]Allocazione dinamica

    Ho sempre problemi con sta cavolo di allocazione dinamica.... cosa è che non và?
    codice:
    #ifndef MATRICI_H
    #define MATRICI_H
    #include <math.h> //Qui è definita la mia classe Complesso
    
    class Matrice{
    
        public: Matrice(int,int);
    
       private: int const DIM1,DIM2;
                Complesso *matr;
    };
    
    Matrice :: Matrice(int d1,int d2)
             : DIM1(d1),DIM2(d2){
       matr = new Complesso[DIM1][DIM2];    
    }
    
    #endif
    cannot convert `Complesso (*)[this->Matrice:IM2]' to `
    Qualcuno mi spiega in modo chiaro come si fa per fare una cosa così??
    Grazie
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Perchè non posti anche la classe Complesso?
    Slack? Smack!

  3. #3
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    E' piuttosto lunga....ma nella classe Complesso devo fare l'overload anche di [] ??
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Da inesperto di C++ ti chiedo:
    hai definito un costruttore vuoto per Complesso, ovvero:
    codice:
    class Complesso {
      public:
        Complesso();
      ...
    };
    
    Complesso::Complesso() {
      // codice
    }
    ...
    Mi vien da pensare che durante l'inizializzazione della
    matrice non riesca a trovare il costruttore di default.
    Ripeto, sono ancora ignorante in materia.

    Ciao.
    Slack? Smack!

  5. #5
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Ok, provo a creare un costrutto re di default e vedo se il problema è quello.
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  6. #6
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Mi rettifico, avevo già un costruttore di default e quindi il problema non è quello, ho ovviato facendo in questo modo, ma mi pare più brutto:
    codice:
     
    Matrice :: Matrice(int d1,int d2)
             : DIM1(d1),DIM2(d2){    
       Complesso temp[DIM1][DIM2];      
       matr = &temp[0][0];    
    }
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  7. #7
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Perchè diavolo non funziona???
    Ora sto provando così:
    codice:
     
    class Matrice{
    
        public: /*Costruttore*/
                Matrice(int,int);
                
    
       private: int const DIM1,DIM2;
                Complesso matr[][];
    };
    
    Matrice :: Matrice(int d1,int d2)
             : DIM1(d1),DIM2(d2){    
       Complesso temp[DIM1][DIM2];
       matr = new Complesso[DIM1][DIM2];  //Qui dà errore!!   
    }
    incompatible types in assignment of `Complesso
    VI prego aiutatemi....
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

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.