初始化指针向量(自动)
initialize vector of pointers (automatically)
尝试通过std::vector
构造函数初始化指向NULL
的指针向量时,我遇到了编译错误。我简化了指令以保持简单:
vector<int*> v (100,NULL)
我想这与const T& value= T()
(构造函数的参数)和值 NULL 之间的不兼容有关,但我希望得到一些进一步的解释。
谢谢
如果您有相关的 C++11 支持,您可以使用nullptr
:
std::vector<int*> v(100, nullptr);
但是,在您的特定情况下,无需指定默认值,因此以下内容就足够了:
std::vector<int*> v(100);
NULL
可能被定义为0
,所以你最终得到
vector<int*> v(100,0);
它试图构建 int
s 的向量,而不是 int*
s。
只需跳过 NULL,因为无论如何这是指针的默认值,或者将其转换为正确的指针类型 (int*)NULL
。
相关文章:
- 如何告诉自动推断向量<bool>元素的非引用类型
- 如果不初始化结构中的向量,它会自动为空还是具有随机内存位置的值?
- 原始指针在放置并推送到智能指针向量时是否会自动转换为智能指针?
- 在 C++ 的模板函数中初始化自动(未知)类型的向量
- 自动符号转换,用于对类等数学向量进行操作
- C++:指针元素的向量在销毁时是否会自动释放每个指针所指向的动态内存?
- C++向量迭代:常量 vs. 常量自动 vs. 无常量
- 为什么类中的向量自动变为 NULL
- 自动创建定义对象的向量
- 不允许向量<auto>吗?(错误:"自动"的使用无效)
- 自动将对象添加到该对象父对象的向量中
- 在 lambda 表达式中自动推导出的类型是什么,用于修改 bool 类型的向量(特殊容器)
- 有没有办法<int><double>在使用 C++11 函数调用期间自动将"向量"提升为"向量"?
- 使用指向部分专用函数成员的指针自动填充向量
- 在向量上迭代时,自动类型与具体类型
- CUDA内核自动调用内核来完成向量加法.为什么?
- C++:自动向量重新分配调用复制构造函数?为什么
- 初始化指针向量(自动)
- 在C++中,何时自动为本地向量调用析构函数
- 将解析结果自动连接到向量中