2014-02-17 59 views
0

我對void *函數以及結構都是新手。 我得到這個錯誤:將結構傳遞給void函數void參數

錯誤:衝突的類型「aperiodic_task」

這是函數原型:

void *aperiodic_task(void* arg) 

我基本上可以通過在我想做的事情,只要我投它,對嗎?

當我調用該函數,我做以下內容:

aperiodic_task(&acontents); 

「acontents」是一個結構我設置存入幾種不同的變量。

我以爲無效的樣式參數我基本上可以通過任何我想要的。我可能在這裏錯過了一些基本的東西,這是漫長的一天。

回答

4

是的,您可以將任何指針傳入void *參數。您的錯誤'aperiodic_task'的衝突類型表示編譯器已經看到aperiodic_task的兩個定義,它與您在嘗試調用它時傳遞的參數無關。你或者有一個相互矛盾的原型,或者你根本沒有原型。

+0

是的......事實證明我正在嘗試使用該功能之前,我已經定義它。多麼愚蠢的錯誤。感謝您指出。 – user3287789

+0

@ user3287789如果這是問題,請考慮選擇它作爲答案。 – rationalcoder

相關問題