J'essaye d'utiliser std::vector
comme char
tableau.
Ma fonction prend un pointeur vide:
void process_data(const void *data);
Avant, je viens d'utiliser ce code:
char something[] = "my data here";
process_data(something);
Ce qui a fonctionné comme prévu.
Mais maintenant, j'ai besoin de la dynamicité de std::vector
, alors j'ai essayé ce code à la place:
vector<char> something;
*cut*
process_data(something);
La question est, comment puis-je passer le vecteur char à ma fonction pour pouvoir accéder aux données brutes vectorielles (quel que soit le format - flottants, etc.)?
J'ai essayé ceci:
process_data(&something);
Et ça:
process_data(&something.begin());
Mais il est revenu un pointeur vers des données charabia, et celui - ci a donné avertissement: warning C4238: nonstandard extension used : class rvalue used as lvalue
.
vector<bool>
qui est l'exception à cette réponse (et n'a pas de stockage de mémoire contigu debool
s).