Buenas estoy haciendo el juego del othello en qt y tengo un problemilla a la hora de compilar. Resulta que quiero guardar partidas del othello , y para ello me voy a valer de una clase matriz (**int) que guarde la posicion de las fichas y habia pensado en sobrecargar los operadores << y >>, pero tengo un error en la compilación(que en verdad no hay error). Os explico tengo varios archivos cpp y h dentro de un directorio y para compilarlos utilizo:
qmake-qt4 -project
qmake-qt Othello.pro (othello es el nombre del directorio)
make
Pues a hacer el make me da este error:
g + +-c-pipe-O2-Wall-W-D_REENTRANT-DQT_NO_DEBUG-DQT_GUI_LIB-DQT_CORE_LIB-DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g + +-I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4-I. -I. -o othello.o othello.cpp
In file included from Othello.h: 11,
from othello.cpp: 8:
matriz.h: 75: error: ISO C + + forbids declaration of 'istream' with no type
matriz.h: 75: error: 'istream' is neither function nor member function; can not be declared friend
matriz.h: 75: error: expected ',' before '&' token
make: *** [othello.o] Error 1
Y los ficheros fuentes que dan el error son:
http://pastebin.org/71881http://pastebin.org/71882He estado googleando y he visto que el error ocurre cuando no se agrega el espacio de nombres, y yo si lo tengo agregado. De hecho he cogido los archivos fuentes , los he copiado a otro directorio, y los he compilado sin problemas con:
g++ -c -o matriz.o matriz.cpp
Así que el problema lo tengo que tener al generar el make o algo por el estilo, así que no se...