Weird compiler error.

Started by
1 comment, last by Shnoutz 14 years, 8 months ago
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
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);};
Thanks ;)

This topic is closed to new replies.

Advertisement