【问题标题】:passing in structs to a void function with void type arguments将结构传递给具有 void 类型参数的 void 函数
【发布时间】:2014-02-17 00:47:10
【问题描述】:

我对 void * 函数和结构都是新手。 我收到此错误:

错误:“aperiodic_task”的类型冲突

这是函数原型:

void *aperiodic_task(void* arg) 

只要我施放它,我基本上可以传递任何我想要的东西,对吗?

当我调用该函数时,我正在执行以下操作:

aperiodic_task(&acontents);

“acontents”是我设置的一个结构,用于保存几个不同的变量。

我认为对于 void 样式参数,我基本上可以传递任何我想要的。我可能在这里遗漏了一些基本的东西,这是漫长的一天。

【问题讨论】:

    标签: c


    【解决方案1】:

    是的,您可以将任何指针传递给void * 参数。您的错误conflicting types for 'aperiodic_task' 表明编译器已经看到aperiodic_task 的两个定义,这与您尝试调用它时传递的参数无关。你要么有一个冲突的原型,要么你根本没有原型。

    【讨论】:

    • 是的......原来我在定义之前尝试使用该功能。多么愚蠢的错误。感谢您指出。
    • @user3287789 如果这是问题所在,请考虑选择它作为答案。
    猜你喜欢
    • 2013-10-19
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 2021-12-27
    相关资源
    最近更新 更多