ciao a tutti. ho un problema con un pezzo di codice riguardante la creazione di una classe matrice. io ho fatto i seguenti codici:
matric.h
[CODE]
#ifndef _MATRICE_H
#define _MATRICE_H
typedef int tipoelem;
class matrice
{
pubblic:
matrice(int, int);
matrice creamatrice();
tipoelem leggimatrice(int, int);
void scrivimatrice(int, int, tipoelem);
matrice eseguiprodotto(matrice, int, int, matrice, int, int);
private:
int righe;
int colonne;
tipoelem matrix[righe][colonne];
}
#endif
[\CODE]
matrice.cpp
[CODE]
#include "matrice.h"
#include <iostream>
matrice(int riga, int colonna)
{
righe = riga;
colonne = colonna;
}
void matrice::creamatrice()
{
int i, j;
for(i = 0; i < righe; i++)
{
for(j = 0; j < colonne; j++)
{
cin >> matrix[i][j];
cout << " ";
}
cout << "\n";
}
}
tipoelem matrice::leggimatrice(int riga, int colonna)
{
return(matrix[riga][colonna]);
}
void matrice::scrivimatrice(int riga, int colonna, tipoelem elemento)
{
matrix[riga][colonna] = elemento;
}
matrice &matrice::eseguiprodetto(matrice matA, int rigA, int colA, matrice matB, int rigB, int colB)
{
if(colA != rigB)
{
cout << "il prodotto non si puo' effettuare!\n\n\n";
return 0;
}
tipoelem matC[rigA][colB] = 0;
for(int i = 0; i < rigA; i++)
{
for(int j = 0; j < colB; j++)
{
for(int p = 0; p < colA; p++)
{
matC[i][j] = matC[i][j] + matA[i][p]*matB[p][j];
}
cout << " ";
}
cout << "\n";
}
return(matC);
}
[\CODE]
quando lo compilo mi dà il seguente errore:
invalid use of undefined type 'class matrice'
questo alla linea 9 del file.h.
cosa c'è che non va? secondo me il costruttore sta fatto bene.