我无法理解由于以下代码而出现的错误。我正在尝试使用fopen()
打开文件,但这些错误对我来说毫无意义。所以请解释整个事情。< / p>
10 - FILE * THE_FILE_YOU_READ;
11 - THE_FILE_YOU_READ = fopen("num.txt","r");
这两行单独产生一些警告和错误,如下所示:
11 - warning: data definition has no type or storage class [enabled by default]
11 - error: conflicting types for 'THE_FILE_YOU_READ'
10 - note: previous declaration of 'THE_FILE_YOU_READ' was here
11 - warning: initialization makes integer from pointer without a cast [enabled by default]
11 - error: initializer element is not constant
我正在使用Code :: Blocks,如果它完全相关的话。我还没有在程序的其他地方声明这个变量`THE_FILE_YOU_READ。任何想法,或者这只是我的愚蠢疏忽?
答案 0 :(得分:7)
您已在文件范围内的任何函数之外编写此代码。那是无效的。语句只能出现在函数中。在函数之外,编译器试图将第二行解释为声明/定义,隐式类型为int
。