【发布时间】:2019-06-13 20:22:51
【问题描述】:
我正在构建一个链表,我正在尝试构建一个函数来添加一个节点,以测试我传递了一个名称和大小。
我想用我的头脑调用它,但我得到了一些我无法调试的奇怪错误。
struct Test{
char name[_MAX_NAME];
int size;
struct Test *next;
};
typedef struct Test *node;
node AddNode(node head, char name, int size);
在我的主目录
node head = NULL; // is this problem?
head = AddNode(head,"Test Name",110);
错误 C2040 'AddNode': 'node (node,char,int)' 的级别不同 来自'int()'的间接引用
【问题讨论】:
-
什么是
110和1- 哪个是size? -
很抱歉,这是我之前尝试过的更改,但我忘记了编辑。我修好了
-
函数期望
char,你正在传递char*? -
为什么要复习的最好例子:Is it a good idea to typedef pointers?——如果没有Conversations:A Midsummer Night's Madness,这绝对不是一堂完整的课“混乱是编程的阴暗面。太多的类型定义,糟糕的命名选择——这些都会导致......”
-
@DavidC.Rankin:不,不是。消息“'node (node,char,int)' 在间接级别上与 'int ()' 不同”表明
AddNode有一个默认声明int AddNode(),这意味着 OP 在使用它之前省略了它的声明,并且问题与类型定义或间接级别无关。
标签: c