Debug 迭代器合法性檢測問題

2022-09-13 18:15:10 字數 689 閱讀 4079

測試**:

1

for(auto it = v5.cbegin(); it != v5.cend() && !it->empty(); ++it)

2

目的是對迭代器it進行合法性檢測。

報錯資訊:

1 character_3.cpp:496:51: error: request for member '

empty'in

'* it.__gnu_cxx::__normal_iterator<_iterator, _container>::operator->>()

', which is of non-class type '

int'

2for(auto it = v5.begin(); it != v5.end() && !it->empty(); ++it)

debug最終結果:

1

for(auto it = v5.cbegin(); it != v5.cend() && !isspace(*it); ++it)

25 cout << endl;

分析:對於int型別物件,標準庫沒有定義對應的成員函式empty,因此無法呼叫物件的empty成員函式,而對於此類報錯,應該考慮使用的物件型別與其對應成員函式、類內成員等是否存在未定義呼叫的情況。

mysql表進行合法性檢查 表單合法性檢測

表單合法性檢測 在處理表單提交的資料的時候,建議盡量採用think model類提供的create方法首先進行資料建立,然後再寫入資料庫。create方法在建立資料的同時,可以進行更為安全的處理操作,而且這一切讓你的表單處理變得更簡單。使用create方法建立資料物件的時候,可以使用資料的合法性檢測...

asp檢測郵箱的合法性

dim email email request.form email if isvalidemail email then if request action 退訂 then response.redirect del email.asp?email email else response.redi...

出棧的合法性檢測

對於乙個給定的入棧順序,可能的出棧順序會有很多,但是肯定都要遵循棧 後進先出 的特點,那麼怎麼進行合法性檢測呢?演算法思想如下 定義變數inindex標記入棧序列的當前位置,定義outindex標記出棧序列的當前位置 對inindex和outindex處的數進行比較,如果相同,同時往後走。如果不相同...