내가 사용하려고 해요 std::vector
A와 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
.
vector<bool>
하는이 답변에 예외 (와의 연속적인 메모리 저장하지 않습니다bool
들).