【发布时间】:2012-11-08 20:26:51
【问题描述】:
我收到此错误:
arthur@arthur-VirtualBox:~/Desktop$ gcc -o hw -ansi hw1.c
hw1.c: In function `main':
hw1.c:27:16: warning: assignment makes pointer from integer without a cast [enabled by default]
hw1.c: At top level:
hw1.c:69:7: error: conflicting types for `randomStr'
hw1.c:27:18: note: previous implicit declaration of `randomStr' was here
编译这段代码时:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
char *rndStr;
rndStr = randomStr(FILE_SIZE);
/* Do stuff */
return 0;
}
/*Generate a random string*/
char* randomStr(int length)
{
char *result;
/*Do stuff*/
return result;
}
如果我切换功能顺序,它就可以工作 为什么?
【问题讨论】:
-
-1 包含太多无关代码。请参阅 SSCCE.ORG 了解简短完整示例为何有用的信息。
-
您需要在使用它之前声明它。
-
@KevinDTimm - hw1.c:69:7: error: 如果你经常使用 c,`randomStr' 的冲突类型可能非常准确。
-
@KevinDTimm 您确实意识到您的 50% 的 cmets 只会向这个问题发送垃圾邮件?我搜索了大约 2 个小时,寻找第一个错误,并没有发现任何问题。那又怎样,你基本上是在说我懒得问 SO 或者愚蠢地自己没有找到它?最后我检查了 SO 在没有你侮辱新手 C 程序员的情况下做得很好。如果你想帮助别人,我认为你应该把宝贵的时间花在回答问题上。
标签: c function declaration