Я пытаюсь использовать 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);
Вопрос в том, как передать вектор символов в мою функцию, чтобы я мог получить доступ к необработанным данным вектора (независимо от того, какой это формат - с плавающей точкой и т. Д.)?
Я пробовал это:
process_data(&something);
А это:
process_data(&something.begin());
Но он вернул указатель на бессмысленные данные, и последний дал предупреждение: warning C4238: nonstandard extension used : class rvalue used as lvalue
.