Newsgroup: it.comp.os.linux.development
Titolo: LUNGO: Internal compiler error in instantiate_virtual_regs_1

Riscrivendo in c++ di un programma fatto in Java ho ottenuto il messaggio 
d'errore seguente:
  g++ -o MdTdemo MdTdemo.cpp -Wno-deprecated
In file included from MdTdemo.cpp:3:
matriceFunzionale.h: In constructor 
`MatriceFunzionale::MatriceFunzionale()':
matriceFunzionale.h:66: Internal compiler error in 
instantiate_virtual_regs_1,
   at function.c:3972
Il codeice è il seguente:
//definizione della classe matrice funzionale
#include <iostream.h>
#include "istruzione.h"
class MatriceFunzionale{
        int numStati;
        int numSimboli;
        istruzione matrice[][];
protected :
                //metodo protetto per l'assegnazione del numero di stati:
                // se il valore è maggiore di zero ritorna 0(corretto)
                // altrimenti il valore -1
                int setNumStati(int value);
                //metodo protetto per l'assegnazione del numero di simboli:
                // se il valore è maggiore di zero ritorna 0(corretto)
                // altrimenti il valore -1
                int setNumSimboli(int value);
                //metodo protetto per la "creazione" della matrice funzionale
                void creaMatrice();
public:
                //dichiariamo un costruttore vuoto
                MatriceFunzionale();
                //dichiariamo del distruttore
                ~MatriceFunzionale();
                //
                int initMatrice(int stati, int simboli);
                int getNumSimboli();
};
int MatriceFunzionale::setNumStati(int value){
        if (value > 0){
                numStati = value;
                return 0;
        }
        else
                return -1;
};
int MatriceFunzionale::setNumSimboli(int value){
        if (value > 0){
                numStati = value;
                return 0;
        }
        else
                return -1;
};
void MatriceFunzionale::creaMatrice(){
        matrice[numStati][numSimboli];
};
MatriceFunzionale::MatriceFunzionale(){
        numStati = 0;
        numSimboli = 10;
        //cout << "Costruttore della matrice" << endl;
};
                //dichiariamo del distruttore
MatriceFunzionale::~MatriceFunzionale(){
        numStati = 0;
        numSimboli = 0;
};
                //
int MatriceFunzionale::initMatrice(int stati, int simboli){
        if ((setNumSimboli(simboli) == 0) && (setNumStati(stati) == 0)){
                creaMatrice();
                return 0;
        }
        else
                return -1;
};
int MatriceFunzionale::getNumSimboli(){
        return numSimboli;
};
Il main è il seguente:
#include <iostream.h>
#include "matriceFunzionale.h"
int main(){
        //istruzione istr;
        cout << "Inizio main" << endl;
        MatriceFunzionale matrix;
        cout << "num simb: " << matrix.getNumSimboli() <<endl;
        cout << "Fine main" << endl;
};
Cosa devo fare?
-- 
Saluti, 
    by Enri'S
                        --- Linux Powered ---

 Cosa devo fare?
Postare su news://it.comp.lang.c++, è dedicato apposta alle domande sul C++.
Questo ng sarebbe specifico sulla programmazione in linux. Leggiti i
manifesti (mi sembra che siano su 
http://www.nic.it
) per maggiori
informazioni.
-- 
Andrea Bergia - studente              Linux Registred User #281550
"The one thing we're all waiting for, is peace on Earth and an end to war,
it's a miracle we need, the miracle, the miracle, 
Peace on earth and end to war today,
That time will come one day you'll see when we can all be friends"

 informazioni.
Ops... link sbagliato, e non mi ricordo quello giusto. Sorry. Google is your
friend


 
Il fatto è che sto proprio usando una RedHat Linux 8.0, e g++ versione 3.2. 
Penso perciò di essere nel gruppo giusto. Incautamente avevo omesso queste 
informazioni nella prima mail. Ad ogni modo seguirò anche il tuo consiglio 
, cioè di postare anche sul gruppo che mi hai indicato. Grazie mille.


 gruppo che mi hai indicato. Grazie mille.
Questa è una cosa da *NON* fare. Posta su un solo gruppo (c++), non su due o
tre. Basta quello giusto. Fidati.
Ciao.


   at function.c:3972
Io sarei a favore di un'interpretazione  piu` larga del topic rispetto a
quella di Andrea... il tuo codice  e` *molto* errato, fa supporre che tu
non  abbia chiaro  alcuni  aspetti chiari  del  linguaggio. E su  questo
concordo con  Andrea: il gruppo adatto  e` it.comp.lang.c++. _Ma_ quello
che  segnali tu  e`  un  ICE (e`  crashato  il compilatore). Questo  non
dovrebbe mai avvenire, anche con  codice mal scritto. Non sono del tutto
sicuro che  sia il caso  di segnalarlo (visto che  il codice non  e` C++
valido),  ma se  decidi  di  farlo trovi  le  istruzioni dettagliate  su
gcc.gnu.org
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Do or do not. There is no try.