我想制作一个const指针的矢量。 (指针是常数,而不是A是常数)
这里的代码给出了错误:
class A{};
std::vector<A * const> vec; //creates vector of const pointers to A
A * const a = new A(); //creates a const pointer to new object A
//a vector requires the type of the elements to be copy assignable
//so this gives a me compilation error
vec.push_back(a);
无法使用左值类型初始化'void *'类型的参数 'A * const *'
但是这里的代码编译:
class A{};
std::vector<A * const> vec; //creates vector of const pointers to A
那为什么我可以创建一个非CopyAssignable元素的向量?如果我不能使用它,为什么我能够创建非CopyAssignable元素的向量?有什么方法可以创建和使用const指针的向量吗?