2012-11-08 98 views
0

我的項目衝突使用在頭文件中的一個已定義的「ERRC」名稱與標準庫

typedef int    errc; 

我想在項目中使用STL,但是當我添加STL的頭文件,我得到名稱的第三方模塊自從它在標準庫中的類名稱以來,errc發生衝突。

error C2872: 'errc' : ambiguous symbol 

我真的不希望改變第三方模塊,有沒有什麼辦法可以來解決這個問題,並在項目標準庫的工作?

+0

是不是'std'的'errc'一部分?這就是命名空間的用途。 – chris

+9

你唯一需要改變的是從你的文件中刪除'using namespace std;'。 – Praetorian

+0

是的,但由第三方模塊設計/命名不佳,他們已經使用它在我的控制之外 – zar

回答

0

文件

using namespace std; 

在不使用,但你仍然可以包含到功能,說

void f() 
{ 
    using namespace std; 

    cout<<endl; 
}