【发布时间】:2013-09-07 09:51:51
【问题描述】:
我会保持简单:
这是我构建的函数,它将创建一个新的 dnode:
struct dnode *dnode_create() {
return calloc(1, sizeof(struct dnode));
}
我是这样称呼它的:
struct dnode *newnode = dnode_create();
我不明白这与整数有什么关系?
【问题讨论】:
-
让我猜;使用视觉工作室?
-
啊。 C99 取消了隐式 int,但 gcc 仍然允许它。
-
所以你的意思是如果我切换到另一个编译器它可能不会抱怨这个?
-
@LidongGuo:这在两个方面是错误的。首先,它没有解决这里的问题。其次,您永远不会在 C 中转换 malloc 的返回值。没有任何好处,它实际上可以隐藏错误(这里遇到的错误就是这样发生的)。您打算引入一个更严重的错误来消除警告。