Closed daveHitchman closed 3 years ago
For me the getHash function is in fact declared as an int64_t and the structure declaration for __lcm_hash_ptr also expects an int64_t which makes it a bit bizarre
OK, further checking the structure __lcm_hash_ptr has been changed, the compiler seems to be getting knotted, maybe its finding an old lcm_coretypes.h not really sure but will close the issue
I'm seeing something related with both 1.4.0 and 1.5.0 in a container, so no chance it is finding an old lcm_coretypes.h
.
To avoid necrobumping, I'm opening a new issue (#450) and just leaving this comment here for anyone who finds this issue first when searching.
In vsn 1,3,1 the output had: const __lcm_hash_ptr cp = { p, (void*)tXXXXX:getHash };
now it has const __lcm_hash_ptr cp = { p, tXXXXX::getHash };
I dont know why the cast to (void) was dropped but the compiler wont take it because getHash is NOT the same type as hash_ptr : error error: invalid conversion from 'int64_t ()() {aka long long int ()()}' to 'void' [-fpermissive]