Я понимаю, что использование вектора — хороший способ хранения двоичных данных при использовании C++ и STL. Однако для моих модульных тестов я хотел бы инициализировать вектор, используя строковую переменную const char*C.
Я пытаюсь использовать вариант кода, найденного здесь-Преобразование (void*)в std::vector
const char* testdata = "the quick brown fox jumps over the lazy dog.";
unsigned char* buffer = (unsigned char*)testdata;
typedef vector bufferType;
bufferType::size_type size = strlen((const char*)buffer);
bufferType vec(buffer, size);
Однако компилятор VC++ недоволен строкой, инициализирующей вектор, заявив:
error C2664: 'std::vector<_Ty>::vector(unsigned int,const _Ty &)' : cannot convert parameter 1 from 'char *' to 'unsigned int'
Я понимаю крайнюю бестактность этого вопроса и полностью готов к большой критике кода выше:)
Заранее спасибо, Chris