This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/13590] unexpected overload resolution


------- Additional Comments From bangerth at dealii dot org  2004-01-06 21:10 -------
I'm no expert in "using" things, but this really seems odd: 
------------------ 
struct Node { 
  void f (int); 
}; 
 
struct AN : virtual Node { 
  using Node::f; 
}; 
 
struct BN : virtual Node { 
  using Node::f; 
}; 
 
struct CN : virtual AN, virtual BN {}; 
 
void f () { 
  CN n; 
  n.f (1); 
} 
------------------------------- 
 
With all gcc versions since 3.2 I get this: 
g/x> /home/bangerth/bin/gcc-3.4-pre/bin/c++ -c x.cc 
x.cc: In function `void f()': 
x.cc:17: error: request for member `f' is ambiguous 
x.cc:2: error: candidates are: void Node::f(int) 
x.cc:2: error:                 void Node::f(int) 
 
On the other hand, gcc2.95 and icc accept the code. I have no idea 
who's right, though. 
 
W. 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13590


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]