r****t 发帖数: 10904 | 1 在 arr 里面找最大值的一段 code, gcc-2.95 没问题,gcc-4.3 不行:
template
T
max_over_all(const Array &arr)
{
Array::const_iterator a_it = arr.begin();
T max_val = *a_it; // Our first guess is the first value.
for (++a_it; a_it != arr.end(); ++a_it)
if (*a_it > max_val)
max_val = *a_it;
return max_val;
}
用 gcc-4.3 错误如下:
...
/.../my_blitz.h: In function `T blitz::max_over_all(const blitz::Array
numtype, N_rank>&)':
/.../my_blitz.h:95: |
a**a 发帖数: 416 | 2 是不是const_iterator被编译器认为是个代表值的符号了?试试看加个typename的修饰
行不行?
【在 r****t 的大作中提到】 : 在 arr 里面找最大值的一段 code, gcc-2.95 没问题,gcc-4.3 不行: : template : T : max_over_all(const Array &arr) : { : Array::const_iterator a_it = arr.begin(); : T max_val = *a_it; // Our first guess is the first value. : for (++a_it; a_it != arr.end(); ++a_it) : if (*a_it > max_val) : max_val = *a_it;
|
t****t 发帖数: 6806 | 3 就是加typename就可以了
顺便问下谁写的code, 干嘛不用std::max_element
【在 a**a 的大作中提到】 : 是不是const_iterator被编译器认为是个代表值的符号了?试试看加个typename的修饰 : 行不行?
|
r****t 发帖数: 10904 | 4 some old code by someone from about 199x, compiled with gcc-2.95. is std:max
_element around at that time?
How hard would it be to port this code to gcc-4.3? I am getting more and
more template-related compiling errors.
【在 t****t 的大作中提到】 : 就是加typename就可以了 : 顺便问下谁写的code, 干嘛不用std::max_element
|
t****t 发帖数: 6806 | 5 不是说了加个typename就可以了吗.
max
【在 r****t 的大作中提到】 : some old code by someone from about 199x, compiled with gcc-2.95. is std:max : _element around at that time? : How hard would it be to port this code to gcc-4.3? I am getting more and : more template-related compiling errors.
|
r****t 发帖数: 10904 | 6 诶,这个编过了。
又遇到新问题了。。和 initialization 有关。。过会贴上来问。
【在 t****t 的大作中提到】 : 不是说了加个typename就可以了吗. : : max
|