无法在C++中定义结构数组
Can not define an array of structure in C++
我这样定义ball
结构:
struct ball
{
_vector coordinates;
_vector velocity;
_vector acceleration;
int border;
int color;
int radius;
float mass;
void step();
void clear();
void render();
};
(数据类型_vector
之前定义过,它表示数学中的向量)
在 main 函数中,我想定义一个 ball
数组,所以我写了这段代码:
int main(int argc, char** argv)
{
struct ball balls[NO_BALLS];
.
.
.
}
但是当我想编译代码时,我收到此错误:
调用 'ball::ball()' 的候选对象没有匹配函数: 球::球(康斯特球&)
如果您定义复制构造函数ball::ball(const ball&)
(您实际上已在代码中注释掉),则不会有编译器生成的默认默认构造函数。数组定义需要有一个默认构造函数才能工作(因为它默认初始化每个元素)。因此,只需提供一个默认构造函数:ball:ball() { }
。您可能希望在此构造函数中初始化成员变量。
相关文章:
- 在类构造函数中定义结构变量的参数
- C++ 通过函数传递自定义结构
- 在C++中循环访问自定义结构列表的小问题
- 如何在Qt中使用QDataStream将自定义结构保存/加载到二进制文件中?
- 如何在C++中的.h文件中的类中定义结构
- 如何定义C结构:C-linkage和udt
- 结构向量中自定义结构函数的内存使用
- 类型转换自定义结构
- 使用结构绑定更改自定义结构的值
- 信号槽自定义结构问题
- 如何将unordered_set与自定义结构一起使用?
- 定义结构中没有默认构造函数的类
- 为什么C++在自定义结构向量时会出现 ostream 重载问题?
- 通过自定义结构和链接列表类中的C 中的哈希表
- 从自定义结构数组中提取数据
- 无法使用自定义结构的属性
- 通过引用将自定义结构的向量传递给 boost::compute 闭包或函数
- 如何从输入中定义的"external" int 定义结构中的数组大小
- 定义结构数组
- 在Cython中定义C 结构返回类型