c语言函数重名问题
問題:linux下程序鏈接動態(tài)c庫總是失敗,提示庫中的幾個函數出現問題。苦找無果,最后發(fā)現原因——庫內兩個c函數重名。
結論:最好不要重名,但可以通過一些限制避免這個問題。
提問:c語言 可以函數重載嗎?
answer:可以實現。我參考了幾種說法。
1,c語言不支持函數重載。同一作用區(qū)域不可以有函數重名,但不同作用區(qū)域中允許函數重名。不同作用區(qū)域可以通過在不同文件中使用static實現。
2,實現 C 的函數重載呢,比較通用的做法是利用 C 的可變參數va_args。
對比:體現了c++的封裝的特點,c++可以實現函數重載,應用程序的調用方式是需要指明函數的namespace。其實編譯的時候對重載的函數名做了修改,根據修改的函數名和參數形式進行調用。
參考1
參考2——c語言中函數重名
參考3——如何實現 C 的函數重載
總結
- 上一篇: 输出上下对称的星型
- 下一篇: 操作Checkbox标签