I required your help for a very strange behaviour that I can't understand.
I wrote a simple usage of vector.data :
void* ptr = NULL; // really initialized somewhere else
bool* boolPtr = NULL;
boolPtr = ((std::vector<bool>*)ptr)->data();
and when I compile (with -std=c++17) I got the error
void value not ignored as it ought to be
I try a lot a things but it seems that each time I call, from a casted vector (from void*), the data() method return a void instead of a bool*.
What did I miss ?