Click here to Skip to main content
15,914,820 members
Home / Discussions / ATL / WTL / STL
   

ATL / WTL / STL

 
GeneralRe: custom allocator for one container instance Pin
peterchen22-Nov-04 23:21
peterchen22-Nov-04 23:21 
GeneralRe: custom allocator for one container instance Pin
Joaquín M López Muñoz22-Nov-04 23:03
Joaquín M López Muñoz22-Nov-04 23:03 
Generalcustom allocator for one container instance Pin
peterchen22-Nov-04 8:19
peterchen22-Nov-04 8:19 
Generallist::sort() question Pin
nm_11421-Nov-04 16:51
nm_11421-Nov-04 16:51 
GeneralRe: list::sort() question Pin
Ryan Binns21-Nov-04 18:06
Ryan Binns21-Nov-04 18:06 
GeneralRe: list::sort() question Pin
nm_11421-Nov-04 18:58
nm_11421-Nov-04 18:58 
GeneralRe: list::sort() question Pin
peterchen22-Nov-04 8:23
peterchen22-Nov-04 8:23 
GeneralRe: list::sort() question Pin
nm_11422-Nov-04 19:29
nm_11422-Nov-04 19:29 
peterchen wrote
(a) do not dereive the less than from anything

But the function I'm trying to use (list.sort(...)) has the greater struct as the parameter. If I don't derive it says "cannot convert parameter 1 from 'struct lessThan' to 'struct std::greater<class CSort>'"...



peterchen wrote:
(b) post the list typedef (it misses the teamplate args in your top post), and the errors you get

here's the code again:

#include <list>
using namespace std;

class CSort
{
public:
CSort(int i) : m_i(i) { }
int m_i;
};

struct lessThan : public greater<CSort>
{
bool operator()(const CSort &pfi1, const CSort &pfi2) const
{
return pfi1.m_i < pfi2.m_i;
}
};

void SortTest()
{
list<CSort> l3;
l3.push_back(CSort(11));
l3.push_back(CSort(01));
l3.push_back(CSort(21));
l3.push_back(CSort(14));
l3.push_back(CSort(41));
l3.sort(lessThan());
}

int main(int argc, char* argv[])
{
SortTest();
return 0;
}


and the errors:

C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\functional(80) : error C2784: 'bool __cdecl std::operator >(const class std::list<_Ty,_A> &,const class std::list<_Ty,_A> &)' : could not deduce template argument for 'const class std::list<_Ty,_
A> &' from 'const class CSort'
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\functional(80) : while compiling class-template member function 'bool __thiscall std::greater<class CSort>::operator ()(const class CSort &,const class CSort &) const'
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\functional(80) : error C2784: 'bool __cdecl std::operator >(const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &,const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &)' : could not deduce te
mplate argument for 'const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &' from 'const class CSort'
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\functional(80) : while compiling class-template member function 'bool __thiscall std::greater<class CSort>::operator ()(const class CSort &,const class CSort &) const'
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\functional(80) : error C2784: 'bool __cdecl std::operator >(const struct std::pair<_T1,_T2> &,const struct std::pair<_T1,_T2> &)' : could not deduce template argument for 'const struct std::pair<
_T1,_T2> &' from 'const class CSort'
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\functional(80) : while compiling class-template member function 'bool __thiscall std::greater<class CSort>::operator ()(const class CSort &,const class CSort &) const'
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\functional(80) : error C2676: binary '>' : 'const class CSort' does not define this operator or a conversion to a type acceptable to the predefined operator
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\functional(80) : while compiling class-template member function 'bool __thiscall std::greater<class CSort>::operator ()(const class CSort &,const class CSort &) const'

GeneralRe: list::sort() question Pin
peterchen22-Nov-04 23:15
peterchen22-Nov-04 23:15 
GeneralRe: list::sort() question Pin
nm_11423-Nov-04 13:38
nm_11423-Nov-04 13:38 
GeneralRe: list::sort() question Pin
peterchen23-Nov-04 13:49
peterchen23-Nov-04 13:49 
GeneralRe: list::sort() question Pin
nm_11423-Nov-04 14:08
nm_11423-Nov-04 14:08 
GeneralRe: list::sort() question Pin
toxcct23-Nov-04 8:12
toxcct23-Nov-04 8:12 
GeneralRe: list::sort() question Pin
peterchen23-Nov-04 13:58
peterchen23-Nov-04 13:58 
GeneralRe: list::sort() question Pin
toxcct23-Nov-04 21:37
toxcct23-Nov-04 21:37 
GeneralRe: list::sort() question Pin
peterchen23-Nov-04 22:28
peterchen23-Nov-04 22:28 
GeneralRe: list::sort() question Pin
Nemanja Trifunovic24-Nov-04 2:21
Nemanja Trifunovic24-Nov-04 2:21 
GeneralATL7 and VS.NET2k3 wizard, completely stuck Pin
seriema19-Nov-04 10:59
seriema19-Nov-04 10:59 
GeneralRe: ATL7 and VS.NET2k3 wizard, completely stuck Pin
Michael Dunn19-Nov-04 13:25
sitebuilderMichael Dunn19-Nov-04 13:25 
GeneralRe: ATL7 and VS.NET2k3 wizard, completely stuck Pin
seriema19-Nov-04 13:33
seriema19-Nov-04 13:33 
GeneralPrevent IHTMLDocument2 from updating IE screen Pin
Wim Jans19-Nov-04 9:33
Wim Jans19-Nov-04 9:33 
Questionhow to use char* in ATL Pin
yingkou18-Nov-04 23:26
yingkou18-Nov-04 23:26 
AnswerRe: how to use char* in ATL Pin
geo_m18-Nov-04 23:39
geo_m18-Nov-04 23:39 
GeneralRe: how to use char* in ATL Pin
yingkou19-Nov-04 1:56
yingkou19-Nov-04 1:56 
GeneralRe: how to use char* in ATL Pin
geo_m19-Nov-04 2:52
geo_m19-Nov-04 2:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.