Я пытаюсь использовать std::vector
как массив char
.
Моя функция принимает указатель на void:
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
.