【发布时间】:2017-03-05 09:18:27
【问题描述】:
由于 void * 是通用指针,任何其他类型都可以隐式转换为它。但是, void ** 不是指向指针的通用指针,因此如果我隐式转换为它,我会期待来自 gcc 的警告。
在我的代码中,我有一个函数,它接受一个指向不透明指针的指针(因为它可以重新分配并写回):
char *string_store(void **ctxp, const char *str);
如果我把它错误地称为:
void *context;
...
name = string_store(content, "my name");
我希望 gcc 对此发出警告,而不是 string_store(&content...)。但事实并非如此。我有 gcc 的 -Wall -Wextra 选项。
是否有一个警告选项可以打开它?我在 gcc 文档中找不到它。
【问题讨论】:
-
我想我的意思是这样写的问题:“to void ** from void *”
-
您可以编辑自己问题的标题和内容。 :)
-
哦 - 我忘了。反正看起来是对的。也许我的想法正在...... :-)
标签: c pointers gcc warnings void-pointers