invalid conversion from 'void* (*)()' to 'void* (*)(void*)' [-fpermissive]報錯解決辦法


invalid conversion from 'void* ()()' to 'void ()(void)' [-fpermissive]報錯解決辦法

今天運行了一串老師給的代碼,在VSCode中運行出錯了,原因是它的參數不匹配。

問題如下:

1587368798101

原因:

我的函數是這樣的

1587368900769

而函數原型應該是帶一個void*的參數

1587369011434

解決辦法:

在函數定義時加入一個void *參數即可

1587369035080

擴展:

那么,在devc++中運行為啥不會報錯呢~

參考:https://blog.csdn.net/pkueecser/article/details/13995185

在gcc編譯時不會出錯,但是用g++就會有問題,究其原因就是C語言編譯器允許隱含性的將一個通用指針轉換為任意類型的指針,而C++不允許


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM