我有以下的代码:
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 *"
此消息?是否有人可以让我知道我做错了吗?