template <typename CONTAINER_TYPE, typename CONTAINER_VALUE_TYPE>
bool FindAndErase(CONTAINER_TYPE& cont, const CONTAINER_VALUE_TYPE& value)
{
CONTAINER_TYPE::iterator it = eastl::find(cont.begin(), cont.end(), value);
if (it != cont.end())
{
cont.erase(it);
return true;
}
return false;
}
このコードは Visual C++ 2005 では正常にコンパイルされますが、ARM コンパイラ (「ARM C/C++ コンパイラ、RVCT4.0」) と iOS gcc (「arm-apple-darwin9-gcc (GCC) 4.2.1」) を使用してコンパイルすると、エラー:
エラー: #65: ";" が必要です エラー: #20: 識別子 "it" が定義されていません
それぞれ4行目と5行目。
このコードの何が問題になっていますか?