在C++中,同时继承两个基类,但是两个基类中存在同名的函数。导致调用基类同名函数时造成了冲突,编译报错。
解决方法需要明确指定使用的是那个基类的函数。代码示例:
class A: public svcServer<A>, public svcClient<A>
{
A();
~A();
}
class svcServer
{
public:
void connect();
void disconnect();
}
class svcClient
{
public:
void connect();
void disconnect();
}
main.cpp
int main( int argc, char *argv[] )
{
A a = new A();
//error
a.connect(); //产生歧义
a.disconnect(); //产生歧义
//明确基类
a.svcServer::connect();
a.svcServer::disconnect();
a.svcClient::connect();
a.svcClient::disconnect();
}