C++:xutility文件中發生錯誤

在寫程序中途測試時,突然多出一堆語法錯誤,且來源於xutility文件。
打開xutility文件,其中定義了許多結構體以及函數模板。在其中找錯誤源是找不到的,因爲全是類似於缺少;之類的錯誤。於是回退之前寫的代碼,終於發現問題所在:在全局定義了一個distance函數,然後這個distance函數與一個函數模板重名,加之調用的時候傳入參數類型不符全局定義函數的類型,進行了模板展開,但是又沒有定義該類型的模板函數,於是導致錯誤。
修正方法:
1 . 換掉函數名,參數類型出錯會報錯正確位置
2 . 使用作用域,防止參數類型不當引起的歧義

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章