C++ STL泛型算法改错
来源:百度知道 编辑:UC知道 时间:2024/07/02 05:04:45
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
template <typename T,int VAL>
T addValue(T const& x)
{
return x+VAL
}
void main()
{
vector<int> Numbers(8),a1(8) ;
vector<int> ::iterator start, end, it,start1;
start = Numbers.begin() ;
start1 = a1.begin() ;
end = Numbers.end() ;
transform(Numbers.begin(), Numbers.end(), a1.begin(), addValue<int,5>);
cout << "Numbers { " ;
for(it = start; it != end; it++)
cout << *it << " " ;
cout << " }\n" << endl ;
cin.get();
cin.get();
}
有个错误..我用的是VS2005
d:\backup\我的文档\visual studio 2005\projects\小开历陷记2\小开历陷记2\小开厉险记2.cpp(10) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1> d:\
#include <vector>
#include <algorithm>
using namespace std;
template <typename T,int VAL>
T addValue(T const& x)
{
return x+VAL
}
void main()
{
vector<int> Numbers(8),a1(8) ;
vector<int> ::iterator start, end, it,start1;
start = Numbers.begin() ;
start1 = a1.begin() ;
end = Numbers.end() ;
transform(Numbers.begin(), Numbers.end(), a1.begin(), addValue<int,5>);
cout << "Numbers { " ;
for(it = start; it != end; it++)
cout << *it << " " ;
cout << " }\n" << endl ;
cin.get();
cin.get();
}
有个错误..我用的是VS2005
d:\backup\我的文档\visual studio 2005\projects\小开历陷记2\小开历陷记2\小开厉险记2.cpp(10) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1> d:\
从句法上说(编译错误)楼上说的不错,只少了分号。
但运行出来的结果没有达到期待的结果
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
template <typename T,int VAL>
T addValue(T const& x)
{
return x+VAL;
}
int main()
{
vector<int> Numbers, a1(8) ;
for (int i = 0; i != 8; ++i)
Numbers.push_back(i);
vector<int> ::iterator start, end, it,start1;
start = Numbers.begin() ;
start1 = a1.begin() ;
end = Numbers.end() ;
transform(Numbers.begin(), Numbers.end(), a1.begin(), addValue<int,5>);
cout << "Numbers { " ;
for(it = a1.begin(); it != a1.end(); ++it)
cout << *it << " " ;
cout << " }\n" << endl ;
}
这样transform才有用处啊
还有cin.get();干什么,后面又没有代码了
return x+VAL 后面少了;
至于(23)行的错误,等上面那个改好了再说