Я намагаюся використовувати std::vector
як char
масив.
Моя функція приймає недійсний покажчик:
void process_data(const void *data);
Перш ніж я просто використав цей код:
char something[] = "my data here";
process_data(something);
Який працював як очікувалося.
Але зараз мені потрібна динамічність std::vector
, тому я спробував цей код замість цього:
vector<char> something;
*cut*
process_data(something);
Питання полягає в тому, як я можу передати вектор char на свою функцію, щоб я мав доступ до векторних необроблених даних (незалежно від того, у якому форматі це - плаває тощо)?
Я спробував це:
process_data(&something);
І це:
process_data(&something.begin());
Але він повернувся покажчик на тарабарщину даних, а другий дав попередження: warning C4238: nonstandard extension used : class rvalue used as lvalue
.
vector<bool>
що це виняток з цієї відповіді (і не має суміжного сховища пам'ятіbool
).