entityx
entityx copied to clipboard
Compiler warning in compile_time branch.
I'm seeing this warning from the compile_time branch:
entityx\entityx/entityx.hh(240): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
Because
struct Components {
...
template <class Storage, class C>
static void destroy(Storage &storage, const std::bitset<component_count> &mask, std::size_t index) {
if (mask.test(component_index<C>::value)) {
storage.template destroy<C>(index);
}
}
The Components.destroy
method takes size_t (and it looks like most of the storage classes use size_t), but the index of an Id is uint32_t
. I'm compiling a 64bit executable, so I guess size_t is a uint64_t on my machine.
Try again with the latest changes. now it's an uint32_t.