我想在Linux的代码中使用gnuplot,所以我写了这一行:
FILE *gnuplotPipe = popen ("gnuplot -persistent", "w");
编译器给了我这个警告:
warning: initialization makes pointer from integer without a cast
有人能解释一下这是什么警告吗?为了正确地做,我该怎么做?
答案 0 :(得分:1)
你忘记了
#include <stdio.h>
位于文件顶部。
头文件包含函数的定义,包括popen()
的定义。它告诉编译器popen()
返回FILE *
。
如果您不包含头文件,编译器将采用默认返回值,即int
。因此可以解释警告:编译器认为popen()
返回int
,然后想要将其分配给FILE *
。