これが私が現在使用しているコードの一部です:
int Engine::getEntityCount(const int objectType)
{
using namespace std;
int total = 0;
for_each(p_entities.begin(), p_entities.end(),
[&objectType,&total](pair<const int, const list<Entity*>> pair)
{
for_each((pair.second).begin(),(pair.second).end(),
[&objectType,&total](Entity* &entity)
{
if ( entity->getAlive() == true && entity->getObjectType() == objectType )
++total;
});
});
return total;
}
Intel C++ から次のエラーが表示されます。
エラー: 関数 "lambda [](Entity *&)->void::operator()" は、指定された引数リストで呼び出すことはできません c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\algorithm
ここで何が問題なのか理解に苦しむ。誰にもアイデアはありますか?