1
我不知道爲什麼我得到這個參數列表不匹配的錯誤。函數模板實例化似乎與主... 可以告訴我什麼是錯的請嗎? 這裏是我的代碼:沒有函數模板的實例匹配參數列表錯誤
//using decltype operator
#include <iostream>
#include <typeinfo>
using std::cout;
using std::endl;
template<class T1, class T2>
auto product(T1 v1[], T2 v2[], size_t count) ->decltype(v1[0] * v2[0]) {
decltype(v1[0] * v2[0]) sum(0);
for(size_t i = 0; i < count; i++) sum += v1[i] * v2[i];
return sum;
}
int main (void) {
double x[] = { 100.5, 99.5, 88.7, 77.8 };
short y[] = { 3, 4, 5, 6 };
long z[] = { 11L, 12L, 13L, 14L };
size_t n = 4;
cout << "Result type is "<< typeid(product (x, y, n)).name() << endl;
cout << "Result is " << product (x, y, n) << endl;
cout << "Result type is " << typeid(product (z, y, n)).name() << endl;
cout << "Result is " << product (z, y, n) << endl;
return 0;
}
用GCC 4.5.1編譯好。 –
這裏編譯得很好:http://ideone.com/KTncj。你正在使用什麼編譯器? – UncleBens
我正在使用Visual Studio Pro 2010 – GKED