hyperjingun
30-01-2008 09:00:17
hi-
I need some help.
std::vector<TreeDef> &treeList = _getGridPage(pageGrid, tileX, tileZ);
std::vector<TreeDef>::iterator i;
for (i = treeList.begin(); i != treeList.end(); ){
//Get tree distance
float distX = (gridBounds.left + (tileX * pageSize) + ((Real)i->xPos / 65535) * pageSize) - pos.x;
float distZ = (gridBounds.top + (tileZ * pageSize) + ((Real)i->zPos / 65535) * pageSize) - pos.z;
float distSq = distX * distX + distZ * distZ;
if (distSq <= radiusSq){
//If it's within the radius, delete it
*i = treeList.back();
treeList.pop_back();
modified = true;
}
else
++i;
}
this source code was error when Visual studio .net 2005.
Error was "Vector iterator incompatible".
And I use PagedGeometry 1.03 version.
Is same position between vector::back() and vector::end() ?
please help~ T_T
I need some help.
std::vector<TreeDef> &treeList = _getGridPage(pageGrid, tileX, tileZ);
std::vector<TreeDef>::iterator i;
for (i = treeList.begin(); i != treeList.end(); ){
//Get tree distance
float distX = (gridBounds.left + (tileX * pageSize) + ((Real)i->xPos / 65535) * pageSize) - pos.x;
float distZ = (gridBounds.top + (tileZ * pageSize) + ((Real)i->zPos / 65535) * pageSize) - pos.z;
float distSq = distX * distX + distZ * distZ;
if (distSq <= radiusSq){
//If it's within the radius, delete it
*i = treeList.back();
treeList.pop_back();
modified = true;
}
else
++i;
}
this source code was error when Visual studio .net 2005.
Error was "Vector iterator incompatible".
And I use PagedGeometry 1.03 version.
Is same position between vector::back() and vector::end() ?
please help~ T_T