在一個程式中,我大量使用了 std 庫。我想命名一個函式less(),但是這已經被采用了std。有沒有我可以添加的行之后using namespace std;會清除以less()供稍后宣告。
目前我收到“錯誤:對‘少’的參考不明確”。
我知道我可以列出我正在使用的所有內容(例如using std::cout;),我只是想問一下是否有“否定”版本。
謝謝你,丹尼爾
uj5u.com熱心網友回復:
您可以顯式使用::less或using ::less在內部范圍內使用。
#include <iostream>
using namespace std;
void less();
void func1() {
::less();
}
void func2() {
using ::less;
less();
}
總的來說,相反,請考慮using namespace std;從您的代碼中洗掉并std::在需要的地方裝飾您的代碼。
uj5u.com熱心網友回復:
這很容易分析:不,那是不可能的。您必須首先避免污染您的命名空間。
uj5u.com熱心網友回復:
使用命名空間 std 后,我可以添加一行嗎?這將清除 less() 以便稍后宣告。
不,但你可以做的是首先不寫using namespace std;。
或者,您可以less使用范圍決議運算子使用限定名稱來參考您的名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/397875.html
上一篇:右值從哪里來?[復制]
