[Bug c++/24373] New: Public method inheritance fails
sylvain dot guilley at enst dot fr
gcc-bugzilla@gcc.gnu.org
Fri Oct 14 19:52:00 GMT 2005
The inherited methods should be implicitely visible from a derived class, which
is not the case in g++. Refer to sample code below.
--------------------------------------------------------------------------------
File: quantifier.cpp
--------------------------------------------------------------------------------
/** @file qualifier.cpp */
struct base {
void f( int const& ) const {}
};
class derived: public base {
int _i;
public:
derived(): base(), _i(0) {}
void f() const { /*base::*/f( _i ); }
};
--------------------------------------------------------------------------------
Compilation error (when "base::" is commented out) -- The command line is:
g++ -Wall -Werror -ansi -pedantic -c qualifier.cpp -o /dev/null
--------------------------------------------------------------------------------
qualifier.cpp: In member function `void derived::f() const':
qualifier.cpp:11: error: no matching function for call to `derived::f(const
int&) const'
qualifier.cpp:11: error: candidates are: void derived::f() const
--
Summary: Public method inheritance fails
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sylvain dot guilley at enst dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24373
More information about the Gcc-bugs
mailing list