golddiamonds/character

error: no member named 'greater' in namespace 'std'

Closed this issue · 1 comments

I tried building on Mac OSX and got the following error:

base_sheet.cpp:102:34:
error: no member named 'greater' in namespace 'std'
std::sort(stats,stats+6,std::greater()); // descending sort in place
~~~~~^
base_sheet.cpp:102:45: error: expected '(' for function-style cast or type
construction
std::sort(stats,stats+6,std::greater()); // descending sort in place
~~~^
base_sheet.cpp:102:47: error: expected expression
std::sort(stats,stats+6,std::greater()); // descending sort in place
^
3 errors generated.
barbarian_sheet.cpp:18:34: error: no member named 'greater' in namespace 'std'
std::sort(stats,stats+6,std::greater()); // descending sort in place
~~~~~^
barbarian_sheet.cpp:18:45: error: expected '(' for function-style cast or type
construction
std::sort(stats,stats+6,std::greater()); // descending sort in place
~~~^
barbarian_sheet.cpp:18:47: error: expected expression
std::sort(stats,stats+6,std::greater()); // descending sort in place
^
3 errors generated.

I fixed it by adding the following to base_sheet.h:

#include <functional>

More at http://stackoverflow.com/questions/16567699/stdgreater-not-defined-in-msvc2012

Fixed in ebf9308