There is an implicit conversion available between uint32_t and int32_t. I was a little surprised to find that I could not say:
void somefunc(std::set<uint32_t> arg);
std::set<int32_t> ary1;
somefunc(ary1);
Why is this? Is there a short-and-sweet syntax to do it without writing out a for loop to copy the first int32_t array into a temporary uint32_t array?
Thank you.