初始化指针向量(自动)

Laz*_*bas 2 c++ null pointers stdvector

尝试NULL通过std::vector构造函数初始化指针向量时遇到编译错误.我简化了指令以保持简单:

vector<int*> v (100,NULL)
Run Code Online (Sandbox Code Playgroud)

我想它与const T& value= T()(构造函数的参数)和非常值NULL 之间的不兼容性有关,但我希望得到一些进一步的解释.

谢谢

jua*_*nza 5

如果您具有相关的C++ 11支持,则可以使用nullptr:

std::vector<int*> v(100, nullptr);
Run Code Online (Sandbox Code Playgroud)

但是,在您的特定情况下,不需要指定默认值,因此以下就足够了:

std::vector<int*> v(100);
Run Code Online (Sandbox Code Playgroud)