2012-12-11 49 views
3

使用支持可變參數模板(除其他外)的Visual Studio Nov 2012 CTP。下面的代碼:MSVC可變函數模板專業化中的錯誤?

template<int, typename... Args> 
void myfunc(Args... args) 
{ 
} 

template<> 
void myfunc<1, float>(float) 
{ 
} 

產生以下錯誤:

error C2785: 'void myfunc(Args...)' and 'void myfunc(float)' have different return types
error C2912: explicit specialization 'void myfunc(float)' is not a specialization of a function template

(是的,第一個是非常有趣)

所以我的問題是:

1 )我在這裏寫法律C++ 11嗎?

2)如果是,有沒有辦法在提交之前找出這是MSVC中的一個已知錯誤?

回答