1
VS 2013說,它不能專注於以下代碼的函數模板:VS 2013不擅長與依賴於模板參數中通用的基準和返回類型函數模板
struct W { };
template <class T>
typename T::result_type
f (const W & w, T && t) {
return 0;
}
/* ... */
struct V { typedef int result_type; };
W w {};
V v {};
f (w, v);
如果我通過int
或者更換typename T::result_type
我用T&
替換通用參考T&&
,它不會抱怨。
在我看來,上面的代碼是正確的。這是一個編譯器錯誤,還是我做錯了什麼?
非常感謝!我絕不會想到這個。我會盡快接受你的回答。 – JohnB 2015-02-24 10:48:46