The field this->segments is a pointer in pgm_index_nvm.hpp.
clang++ will report compilation errors. I do not know why g++ did not report such errors.
g++ version: g++ (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0
clang++ version: clang version 19.1.7
include/learnindex/pgm_index_nvm.hpp:294:23: error: member reference base type 'Segment *' is not a structure or union
294 | this->segments.clear();
| ~~~~~~~~~~~~~~^~~~~~
include/learnindex/pgm_index_nvm.hpp:302:27: error: member reference base type 'Segment *' is not a structure or union
302 | this->segments.push_back(segments[i]);
| ~~~~~~~~~~~~~~^~~~~~~~~~
include/learnindex/pgm_index_nvm.hpp:436:24: error: member reference base type 'Segment *const' is not a structure or union
436 | return segments.size() * sizeof(Segment);
| ~~~~~~~~^~~~~
|
this->segments.push_back(segments[i]); |
|
return segments.size() * sizeof(Segment); |
The field
this->segmentsis a pointer inpgm_index_nvm.hpp.clang++ will report compilation errors. I do not know why g++ did not report such errors.
g++ version: g++ (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0
clang++ version: clang version 19.1.7
WIPE/include/learnindex/pgm_index_nvm.hpp
Line 294 in 029cfc4
WIPE/include/learnindex/pgm_index_nvm.hpp
Line 302 in 029cfc4
WIPE/include/learnindex/pgm_index_nvm.hpp
Line 436 in 029cfc4