Hola a todos.
Iba a poner este mensaje en el Hilo Oficial de C\C++, pero no lo encuentro...
A lo que iba.
Estoy intentando crear un hilo de un proceso para leer un fichero de esta manera :
#include "Class.h"
#include
#include
char *fichero;
fichero = ruta del fichero. //Obviamente no lo he puesto así en el codigo, eso está bien hecho
pthread_create(&hilo_lectura, &atributo, read_hilo, (void)fichero);
void class::read_hilo(void *fichero) {
istream fd;
fd.open((char *)fichero);
/*Leer del fichero y tal*/
}
Bien, al intentar compilar me aparecen estos errores:
Grafo.cc: En member function `nodo** grafo::leer(char*)':
Grafo.cc:31: error: argument of type `void (grafo::)(void*)' does not match `
void*(*)(void*)'
Grafo.cc: En member function `void grafo::read_hilo(void*)':
Grafo.cc:135: error: no matching function for call to `std::basic_istream std::char_traits >::basic_istream()'
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/iosfwd:61: error: candidates
are: std::basic_istream >::basic_istream(const
std::basic_istream >&)
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/istream:105: error:
std::basic_istream<_CharT,
_Traits>::basic_istream(std::basic_streambuf<_CharT, _Traits>*) [with _CharT
= char, _Traits = std::char_traits]
Grafo.cc:138: error: `open' undeclared (first use this function)
Grafo.cc:138: error: (Each undeclared identifier is reported only once for each
function it appears in.)
Bien, segun me parece es que no encuentra el constructor del istream, no?
Alguien sabe una manera de pasar un istream al hilo?
Muchas gracias.