我想做出一些類的構造函數如下的兩個重載:歧義,因爲性病的構造函數重載::函數
foo(int, std::function<int(Tpoint, Tpoint)>);
foo(int, std::function<int(Tpoint, Tpoint, std::vector<Tpoint>)>);
當調用它,我得到了模糊問題。爲什麼?
foo<cv::Point> bar(2,[](cv::Point const& l, cv::Point const& r){
return 5;
});
目前尚不清楚,我需要的第一個構造函數在這裏,因爲它只有2 std::function
參數。
編輯:
由於Lol4t0評論,它適用於其他編譯器。看來VS.NET的問題。 Example 1,Example 2
我正在使用Microsoft Visual Studio 2013.任何人都可以重現嗎?
我不認爲這應該與任何工作,因爲它不會返回一個'int'。 – Claudiu
對不起,我忘了編輯它,而我簡化了它 –
看起來對我來說http://ideone.com/qDeZKr – Lol4t0