I understand that using vector is a good way to store binary data when using C++ and the STL. However for my unit tests I’d like to initalise the vector using a const char* C string variable.
I’m attempting to use a variant of the code found here – Converting (void*) to std::vector<unsigned char> – to do this:
const char* testdata = "the quick brown fox jumps over the lazy dog.";
unsigned char* buffer = (unsigned char*)testdata;
typedef vector<unsigned char> bufferType;
bufferType::size_type size = strlen((const char*)buffer);
bufferType vec(buffer, size);
However the VC++ compiler is not happy with the line initialising the vector, stating:
error C2664: 'std::vector<_Ty>::vector(unsigned int,const _Ty &)' : cannot convert parameter 1 from 'char *' to 'unsigned int'
I appreciate the extreme n00bity of this question and am fully prepared for much criticism on the code above 🙂
Thanks in advance,
Chris
It should be
not