Hola.. Tengo un pequeño problema a la hora de definir un puntero como dato miembro en C++ Para resumir lo que hago es lo siguiente...
class oPen
{
FILE *canal;
oPen()
canal=fopen("unTxt.txt", "w");
static int fnMiembro();
}
int oPen::fnMiembro
{
oPen c;
fprintf(c.canal, "hola");
}
Al parecer c.canal apunta a otro sector de la memoria que no es precisamente el reservado por fopen... fopen devuelve un handle valido... El problema esta en que no sabe la dirección correcta.. Y termina la ejecución.
Lo que e hecho hasta ahora es sacar FILE * canal de la clase y declararlo como variable global pero esto me parece que no es lo correcto.. Quiero hacerlo completamente POO.
Saludos
Edito: El código estaba mal escrito... Ahora se parece mas a lo que tengo escrito
¿Para que usas una instancia temporal? No tiene sentido eso:
oPen::fnMiembro
{
oPen c;
void oPen::fnMiembro()
{
fprintf(canal, "hola");
fprintf(this->canal, " chau");
}
Tenia un error en el código que escribí arriba.. Ya lo e editado..
Se trata de un puntero tipo FILE en la clase para escribir el debug del programa.
Se me olvido comentarles que si accedo de la siguiente forma al puntero
c->canal
Me tira un error en el programa.. (En tiempo de ejecución)