What is wrong here ? core dump ? What I do not do correctly?
#include <cstdio>
#include <map>
#include <cmath>
#include <cstring>
#include <iostream>
bool compFloats (const float f1, const float f2){
  return floor (f1) < floor (f2);
};
int main (int argc, char **argv){
  std::map < float, char, decltype (&compFloats) > m;
  m.emplace (3.9, 'a');
  m.emplace (3.1, 'b');
  m.emplace (4.1, 'c');
  m.emplace (4.5, 'd');
  m.emplace (5.2, 'e');
  for (auto i = m.begin (); i != m.end (); i++)
    printf ("%c ", i->second);
  printf ("\n");
  printf ("hello world\n");
  return 0;
}
 
    