C/Visual C - [C++ Error] formlog.cpp(46): E2034 Cannot convert 'bool' to 'FILE *'

 
Vista:
Imágen de perfil de Adrian JUdas
Val: 2
Ha disminuido su posición en 25 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

[C++ Error] formlog.cpp(46): E2034 Cannot convert 'bool' to 'FILE *'

Publicado por Adrian JUdas (1 intervención) el 22/10/2020 11:36:43
Alguien encuentra el error en esta fragmento, qie yo me estoy dejando la vista

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void leefich(AnsiString fichero)
{
FILE *in;
char c;
char file[30];
String Memo;
 
strcpy(file,fichero.c_str());
 
if ( in = fopen(&file,"r") == NULL)
{
   ShowMessage("Fallo al leer el fichero de entrada");
   return;
}
//while (fread (&file,1,1,in) != NULL)
 
fclose(in);
 
}

Error que da el compiler
[C++ Error] formlog.cpp(46): E2034 Cannot convert 'bool' to 'FILE *'
[C++ Warning] formlog.cpp(46): W8060 Possibly incorrect assignment

No consigo encontar e fallo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

[C++ Error] formlog.cpp(46): E2034 Cannot convert 'bool' to 'FILE *'

Publicado por Nacho (76 intervenciones) el 22/10/2020 14:09:42
Te falta un peréntesis
1
if ( (in = fopen(&file,"r")) == NULL)

Me imagino que la llamada que haces al fopen ya será porque has probado de todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 367
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

[C++ Error] formlog.cpp(46): E2034 Cannot convert 'bool' to 'FILE *'

Publicado por Rodrigo (108 intervenciones) el 22/10/2020 16:47:02
Evita que este tipo de problemas te muerda otra vez.
No es necesario hacer todo en 1 linea y hacer imprescindible el parentizar.

Para el caso particular, separa la asignacion de in con la comparacion contra NULL, asi:

1
2
3
4
in = fopen(file,"r");
if (in == NULL) {
  ...
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar