请教一个编译错误
代码:
...
vector <T> ::const_iterator left = src.begin(), right = left;
...
在Dev-C++4.9.9.2编译不通过,提示错误:
expected `; ' before "left " ...
在BCB6.0编译通过,在MinGW Developer Studio 2.05下编译提示警告:
warning: `std::vector <T, std::allocator <_CharT> > ::const_iterator '
is implicitly a typename
warning: implicit typename is deprecated, please see the
documentation for details
请教怎样消除这个Warning?谢谢
------------------------
函数的完整代码:
template <typename T>
vector <T> MaxSubset(const vector <T> &src, T &max)
{
T maxSum(0) , sum(0);
vector <T> ::const_iterator left = src.begin(), right = left;
for(vector <T> ::const_iterator beg = src.begin(), end = beg;
end != src.end(); end++) {
sum += *end;
if(sum > maxSum) {
maxSum = sum;
left = beg;
right = end+1;
}
else if(sum < 0) {
sum = 0;
beg = end + 1;
}
}
max = maxSum;
return vector <T> (left, right);
}
[解决办法]
在VS2005里没错
[解决办法]
没有类型