C 與namespace有關的兩個編譯錯誤的講解

2022-09-28 08:24:08 字數 522 閱讀 7746

某次,在大型的工程**中,我這樣呼叫:

#include

using namespace std;

namespace a

}namespace b

}int main()

編譯出錯:error: 『fun' was not declared in this scope,查了一下,原來是名空間在搗鬼。另外,名空間中的函式為什麼不縮排呢?我想了一下,理解了當時寫**的人為什麼要這樣做。

再看我遇到的另外一次錯誤:

#include

using namespace std;

namespace a

}namespace b

}using namespace a;

using namespace b;

int main()

結果:call of overloaded 『fun()' is ambigu程式設計客棧ous,錯誤很顯而易見了。實際中www.cppcns.com也確實經常會犯這種錯誤。

總結

有關struts2中namespace的用法

首先會在struts.xml的namespace中找是否存在 yyy zzz 如果存在,則檢視是否有action的 name為index的,如果有則返回相對應的頁面或操作,否則報錯。如果不存在則檢視namespace中是否存在 yyy 如果存在,則檢視是否有action的name為index的,如果...

C 命名空間namespace的介紹與使用

介紹 命名空間可以解決程式中的同名衝突,尤其大型專案多人開發中經常用到。比如我們使用c 的標準輸出std cout就使用了std命名空間。語法 namespace 沒有分號 在某些第三方庫中是有namespace的,因此我們在使用這些庫的時,要確定是否使用using namespace來解除名字字首...

namespace的說明與指示

一次只引入命名空間的乙個成員 using std cout 別的同名實體將被隱藏,可不用頭部直接使用cout 一次引入整個命名空間 using namespace std 即使是在函式內部使用也依舊好像在全域性變數的位置一樣,我理解的是這種描述的 效力 沒有那麼強 下面的例子可以說明 include...