Estou tentando usar std::vector
como uma char
matriz.
Minha função recebe um ponteiro nulo:
void process_data(const void *data);
Antes eu simplesmente usava esse código:
char something[] = "my data here";
process_data(something);
O que funcionou como esperado.
Mas agora eu preciso da dinâmica de std::vector
, então tentei este código:
vector<char> something;
*cut*
process_data(something);
A questão é: como passo o vetor char para a minha função para que eu possa acessar os dados brutos do vetor (independentemente do formato) - flutua etc.)?
Eu tentei isso:
process_data(&something);
E isto:
process_data(&something.begin());
Mas ele retornou um ponteiro para dados jargão, eo último deu o aviso: warning C4238: nonstandard extension used : class rvalue used as lvalue
.
vector<bool>
que é a exceção a esta resposta (e não possui um armazenamento contíguo debool
s).