在C中出错:从不兼容的指针类型传递函数的参数1

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

功能签名为

void abort(context_t **ctx);

,其中ctx是另一个结构的属性。

我创建了指向主结构(server_t *server)的指针后,可以毫无问题地使用指向其主结构的指针(**server)来传递指针,如下所示: C0]或(*server)->ctx

但是我无法弄清楚如何直接将(*server)->addr传递给函数,而不传递**ctx。如果将其作为**server尝试,则会出现错误:

abort(&server->ctx)
c function pointers struct dereference
1个回答
0
投票

注:预期为'context_t ** {aka struct context_t **}',但参数的类型为'struct context_t *']

似乎您尝试将指针分配给双指针。您可以尝试:

error: passing argument 1 of ‘abort’ from incompatible pointer type: abort(&server->ctx);

note: expected ‘context_t ** {aka struct context_t **}’ but argument is of type ‘struct context_t *’

void abort(context_t **ctx);
© www.soinside.com 2019 - 2024. All rights reserved.