moka
03-02-2010, 16:14
ragazzi vi chiedo aiuto è tutto il giorno che sto impallato a sto problema stupido :|
come da titolo, devo eseguire l'overloading dell'operatore <<
bene, ho una classe matrix.h e nel mezzo ci inserisco
std::ostream& operator<< (std::ostream& s, const matrixT& p){
for(unsigned int i=0, i<(p.colonne), i++){
for(unsigned int j=0; i<(p.righe), j++){
s << p.**matrice << endl;
return s;
}}}
mentre nel main.cpp ci metto
#include "matrixT.h"
#include <iostream>
#include <ostream>
using namespace std;
int main()
{
cout << "Prova costruttore di default\n";
matrixT<int> A(3, 5);
cout<<"bello";
cout << A;
return 0;
}
ora, tralasciando il fatto che è inutile che posto il resto del codice dentro matrix, perchè compila e funziona, l'unica cosa che non funziona è quella richiamata dal main "cout << A;"
in pratica matrix è una matrice e con l'overloading di << dovrei stamparla per intero, ma mi da in compilazione il seguente errore:
$ g++ main.cpp;
main.cpp: In function 'int main()':
main.cpp:13: error: no match for 'operator<<' in 'std::cout << A'
c:\programmi\mingw-g++4.3.0\bin\../lib/gcc/mingw32/4.3.0/include/c++/ostream:112: note: candidates are: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>& (*)(std::basic_ost
vi prego aiutatemi, ho provato a cambiare la funzione duecente miliardi di volte in qualsiasi modo, mi affido a voi!
come da titolo, devo eseguire l'overloading dell'operatore <<
bene, ho una classe matrix.h e nel mezzo ci inserisco
std::ostream& operator<< (std::ostream& s, const matrixT& p){
for(unsigned int i=0, i<(p.colonne), i++){
for(unsigned int j=0; i<(p.righe), j++){
s << p.**matrice << endl;
return s;
}}}
mentre nel main.cpp ci metto
#include "matrixT.h"
#include <iostream>
#include <ostream>
using namespace std;
int main()
{
cout << "Prova costruttore di default\n";
matrixT<int> A(3, 5);
cout<<"bello";
cout << A;
return 0;
}
ora, tralasciando il fatto che è inutile che posto il resto del codice dentro matrix, perchè compila e funziona, l'unica cosa che non funziona è quella richiamata dal main "cout << A;"
in pratica matrix è una matrice e con l'overloading di << dovrei stamparla per intero, ma mi da in compilazione il seguente errore:
$ g++ main.cpp;
main.cpp: In function 'int main()':
main.cpp:13: error: no match for 'operator<<' in 'std::cout << A'
c:\programmi\mingw-g++4.3.0\bin\../lib/gcc/mingw32/4.3.0/include/c++/ostream:112: note: candidates are: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>& (*)(std::basic_ost
vi prego aiutatemi, ho provato a cambiare la funzione duecente miliardi di volte in qualsiasi modo, mi affido a voi!