C 中error C2872不明確符號的處理方法

2021-10-07 13:34:48 字數 530 閱讀 9536

在c++控制台程式中,使用的庫函式基本上都來自std命名空間。在使用這些庫函式時,需要通過作用域操作符來指定這些函式來自std,例如:

int i;

std::cin >> i;

可以通過using宣告使用std命名空間

using namespace std;
這樣在程式中使用std中的函式或變數時,就可以直接使用。

cin >> i;
通過using宣告使用std命名空間的程式,如下所示

const int size = 10;

int arr[size];

此時編譯程式會有如下報錯

error c2872: 「size」: 不明確的符號。報錯的原因是在std命名空間中還存在名為size的變數或函式,當用size來作為陣列大小時,編譯器不知道使用自定義的size還是std命名空間中的size,因此會報錯。解決的方法是size改為其他不衝突的名字即可。

c 反射過載方法(發現不明確的匹配)

getmethod string name 在反射過載方法時,如果呼叫此過載方法,會產生 發現不明確的匹配 的錯誤。解決方案如下 getmethod methodname new type 其中type陣列中的項的個數是由要呼叫的方法的引數個數來決定的。如果無引數,則new type 使type陣列...

c 分析器錯誤訊息 發現不明確的匹配。

1 相同的變數名稱 protected system.web.ui.webcontrols.label lbltitle protected system.web.ui.webcontrols.label lbltitle 2 查詢你的aspx頁面裡面的控制項是否有和你的aspx.cs裡面的類變數重...

C 所遇 「pow」 對過載函式的呼叫不明確

error c2668 pow 對過載函式的呼叫不明確 vs2010中,數學函式的引數檢查更為嚴格,如pow 2,45 會引起乙個錯誤提示如下 error c2668 pow 對過載函式的呼叫不明確 d program filesmicrosoft visual studio 8vcincludem...