您的位置:首页 > 编程语言 > C语言/C++

[C++ Template]what is the type of instantiation of template function.

2011-07-06 11:49 399 查看
The book <<C++ templates>> said:



however, in VS2008 and gcc 4.3, the compilers can deduce the type of parameter. The followed code has no compile error.
look here(http://ideone.com/yTpaJ ) for gcc result.

[align=left]#include <vector>[/align]
[align=left]#include <algorithm>[/align]
[align=left]using namespace std;[/align]
[align=left]template <typename T, int VAL>[/align]
[align=left]T addValue (T const& x) {[/align]
[align=left] return x + VAL;[/align]
[align=left]}[/align]
[align=left]int main(int argc, char* argv[])[/align]
[align=left]{[/align]
[align=left] vector<int> source;[/align]
[align=left] vector<int> dest;[/align]
[align=left] int (*funP)(int const&);[/align]
[align=left] funP = addValue<int,5>;[/align]
[align=left] std::transform (source.begin(), source.end(), // start and end of source[/align]
[align=left] dest.begin(), // start of destination[/align]
[align=left] addValue<int,5>); // operation[/align]
[align=left]
[/align]
[align=left] std::transform (source.begin(), source.end(), // start and end of source[/align]
[align=left] dest.begin(), // start of destination[/align]
[align=left] funP); [/align]
[align=left] return 0;[/align]
[align=left]}[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐