-- Moved from [aspgerman] to [aspdecoffeehouse] by [EMAIL PROTECTED]
<[EMAIL PROTECTED]> --
Hallo zusammen,
ich habe in diesem Buch das Sample
ausprobiert das auf seiten (engl.
version) 683 beginnt und komme
leider nicht weiter. Es geht da um
Komponente in C++ fuer ASP.
Das ganze sollte folgendermasen
vorsichgehen das in der Methode
CTableStorage::sort die klasse
doCompare aufgerufern wird um das
STL (MAP) zu sortieren.
Beim kompilieren erhalte ich dann
folgenden error:
C:\tbl\TableStorage.cpp(163) :
error C2660: 'sort' : function does
not take 3 parameters
Da hat er ja nicht ganz unrecht,
aber das bsp. sollte ja mit einem
Functions Object laufen da muss ich
den das object mitgeben.
class doCompare : public
binary_function <const
INDEX_FIELD_MAP & , const
INDEX_FIELD_MAP & , bool>
{
public:
doCompare(int column, short
direction) : m_column(column),
m_direction(direction){};
bool operator () ( const
INDEX_FIELD_MAP & x, const
INDEX_FIELD_MAP & y ){
bool answer = false;
INDEX_FIELD_MAP ::const_iterator
valueIterX = x.find(m_column);
INDEX_FIELD_MAP ::const_iterator
valueIterY = y.find(m_column);
if ( ((m_direction > 0) && (
(*valueIterX).second) <
((*valueIterY).second) ) ||
((m_direction == 0 ) && (
(*valueIterX).second) >
((*valueIterY).second)) ){
answer = true;
}
return answer;
}; // end operator
private:
int m_column;
short m_direction;
};
STDMETHODIMP
CTableStorage::sort(BSTR
columnName, short direction)
{
// TODO: Add your implementation
code here
HRESULT hResult = S_OK;
COLUMN_INDEX_MAP::iterator
mapIter;
mapIter =
m_columnIndexMap.find(columnName);
if ( mapIter !=
m_columnIndexMap.end() )
{
doCompare compareFunc(
(*mapIter).second , direction );
sort( m_rows.begin(),
m_rows.end(), compareFunc ); //
LINE 163:
}
else{
hResult = E_INVALIDARG;
}
return hResult;
}
Regards,
Roni Schuetz
| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp