--- Comment #6 from bangerth at dealii dot org 2006-01-24 05:48 ---
(In reply to comment #5)
> Well, the actual argument type is wholely resolved at point of call. And the
> formal parameter type is valid at the point where sort is defined. It will
> recognize A as an A, it will recogn
--- Comment #5 from igodard at pacbell dot net 2005-10-31 01:08 ---
Well, the actual argument type is wholely resolved at point of call. And the
formal parameter type is valid at the point where sort is defined. It will
recognize A as an A, it will recognize A* as an A*, and it
should
--- Comment #4 from pinskia at gcc dot gnu dot org 2005-10-31 00:57 ---
No that was not my point. My point is that the type to the function agrument
cannot be figured out by what you gave it and as defined by the standard. I
don't have the references in front of me to figure out why th
--- Comment #3 from igodard at pacbell dot net 2005-10-31 00:53 ---
Here's an example that shows that A::iterator depends on E:
template
class A {
public:
class iterator {
E dummy;
};
iterator iter;
};
int main( int argc, char *argv[] ) {
A first;
A
--- Comment #2 from igodard at pacbell dot net 2005-10-30 21:29 ---
I don't get it. The argument is A::iterator, which surely depends on
A::iterator (with "E" taken as "int"). The problem also arises in the
simpler case:
#include
template
class A {
public:
class iterator {
--- Comment #1 from pinskia at gcc dot gnu dot org 2005-10-30 20:59 ---
I don't think this is a bug. What is happening is that compiler cannot figure
out that you want sort as there are no agruments to sort which is based on
the template agrument (except for ones which are dependent on