• Advertisement
Sign in to follow this  

Weird compiler error.

This topic is 3113 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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
Advertisement
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
Sign in to follow this  

  • Advertisement