你是不是定义了一个全局的swap函数?如果要调用本类中同名的全局函数时,打上::以示区别。就跟下面的x全局变量是同一个道理int x;int main(){ int x; x=1; ::x=2; cout<<"局部变量x="<<x<<endl;//1 cout<<"全局变量x="<<::x<<endl;//2 return0;}
::代表当前全局的命名空间,限定访问的对象