A derived class implements an interface or extends a base class. The derived class has a method that has the same name and parameter list as a method in the interface or base class, but the return type is different. Two methods cannot have the same name and parameter list but different return types.
To correct this error
Rename the function in the derived class.
Change the return types or the methods so they match in the derived class and interface or base class.