Как можно назначить что-либо для std::vector<char[8]>
?
#include <vector>
void test(void)
{
std::vector<char[8]> x; // works
x.push_back("7777777");
//
// error: array 'new' cannot have initialization arguments
// error: object expression of non-scalar type 'char [8]'
// cannot be used in a pseudo-destructor expression
char a[8] = "7777777";
x.push_back(a);
//
// error: array 'new' cannot have initialization arguments
// error: object expression of non-scalar type 'char [8]'
// cannot be used in a pseudo-destructor expression
char b[2][8] = {"7777777", "8888888"};
x.assign(b, b+2);
//
// error: static_assert failed "type is not assignable"
// error: array 'new' cannot have initialization arguments
}// end of function
Похоже, можно создать std::vector<char[8]>
, но невозможно присвоить ему что-либо. Как можно заставить работать хотя бы последнюю строчку (т.е. x.assign(b, b+2)
)?
Большое спасибо за помощь!