通过参数参数

问题描述 投票:0回答:2

我有以下的代码:

typedef struct Folder{
 void (**vtable)();
 struct Set *ns;
}Folder;

Node *newFolder(char *n,struct Set *ns);

当我编译这个文件,它给了我:

passing argument to parameter 'ns' here
Node *newFolder(char *n,struct Set *ns);

这里是我的测试单位是:

  void testFolderNrNodes(CuTest *tc) {
  Node_reset();
  Node* folder = newFolder("folder_to_test", SetNil());
  CuAssertIntEquals(tc, 1, nrNodes(folder));
}

这给了我这个错误:

incompatible integer to pointer conversion passing 'int' to parameter of type
'struct Set *' [-Wint-conversion]
Node* folder = newFolder("folder_to_test", SetNil());
                                           ^~~~~~~~

我看不出有什么问题。它是否来自struct Set *ns?为什么我会收到与"incompatible integer to pointer conversion passing 'int' to parameter of type 'struct Set *"此消息?是否有人可以让我知道我做错了吗?

c dispatch
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.