归还文件*

0 c file-io return

为什么这段代码会产生警告?

FILE* my_open_file(char* filename)
{
  FILE* fp=fopen(filename,"r");
  if(fp==NULL)
    {
      perror("Error opening file");
      return -1;
    }
  return fp;
}
Run Code Online (Sandbox Code Playgroud)
  • asdf.c:在函数'my_open_file'中:
  • asdf.c:9:warning:return在没有强制转换的情况下从整数中生成指针

fp已经是一个指针,就我所见而言,它不是整数.

Gre*_*con 7

编译器不喜欢return -1,它是类型int- 但my_open_file应该返回指针FILE.

使用return NULL;信号误差.