Sign in to follow this  
Shnoutz

Weird compiler error.

Recommended Posts

I get a strange compiler error when I try this snippet... Do you guys know why?
class Base
{
public:

	inline void func(int i)
	{
	}
};

class Sub : public Base
{
public:

	inline void func(int i, int j)
	{
	}
};

void main()
{
	Sub sub;

	sub.func(1);
}
'Sub::func' : function does not take 1 arguments

Share this post


Link to post
Share on other sites
If you declare a function in a derived class with the same name as a function in the base class, that function hides the name in the base class. For both functions to be valid lookups you can use a using statement in the derived class.

class Sub : public Base
{
public:
using Base::func;
inline void func(int i, int j);
};

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this