entityx icon indicating copy to clipboard operation
entityx copied to clipboard

Compiler warning in compile_time branch.

Open assumptionsoup opened this issue 8 years ago • 1 comments

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.

assumptionsoup avatar Feb 24 '17 10:02 assumptionsoup

Try again with the latest changes. now it's an uint32_t.

roig avatar Apr 08 '17 15:04 roig