C++工作笔记-作用域( :: )的另一种玩法
生活随笔
收集整理的這篇文章主要介紹了
C++工作笔记-作用域( :: )的另一种玩法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當有要寫的函數與STL里面重名時,如果不加作用域的話會報如下錯誤。
先說明下代碼:
template<typename T> void swap(T &a, T &b){cout << "調用了自己寫的" << endl;T c = a;a = b;b = c; }void main(){int a = 1, b = 2;cout << "交換前:a:" << a << " b:" << b << endl;swap(a, b);cout << "交換后:a:" << a << " b:" << b << endl;getchar(); }運行截圖如下
這里的解決方法有很多,一個是注釋掉using namespace std;
還有一個就是加上::這個作用域,如下面這個代碼
#include <iostream> using namespace std;template<typename T> void swap(T &a, T &b){cout << "調用了自己寫的" << endl;T c = a;a = b;b = c; }void main(){int a = 1, b = 2;cout << "交換前:a:" << a << " b:" << b << endl;::swap(a, b);cout << "交換后:a:" << a << " b:" << b << endl;getchar(); }運行截圖如下:
如果要用std就是std::swap
總結
以上是生活随笔為你收集整理的C++工作笔记-作用域( :: )的另一种玩法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt界面制作(QSS、获取屏幕分辨率、自
- 下一篇: Qt工作笔记-两种方法从容器中筛选出父类