c++ - 如何在 C++ 中使用构造函数初始化结构列表
问题描述
我有一个带有构造函数的结构喜欢:
struct Rectangle
{
int width;
int height;
Rectangle(int _width, int _height)
{
width = _width;
height = _height;
}
}
我创建了一个可以的矩形:Rectangle rect = Rectangle(4, 8);
但是如何使用构造函数创建一个 Rectangle 结构列表:Rectangle rects[10];
这是一个错误:类“矩形”不存在默认构造函数。
如果我在 struct 中定义构造函数,是否不允许创建列表?
我该如何解决?
谢谢!
解决方案
“无默认构造函数”意味着没有不带参数的构造函数。你有一个需要 2。编译器不能只是组成值,它需要确切地知道要提供什么值。
您可以通过调整签名以包含默认值轻松地将其设为默认构造函数:
Rectangle(int _width = 0, int _height = 0)
现在它可以作为默认值使用。
推荐阅读
- c# - 与 EFCore 2.1 的一对一关系
- python - Python-pptx:复制幻灯片
- ruby-on-rails - Rails 嵌套属性 JSON 格式
- node.js - 将 Bing Web 搜索 API 与 QnA 聊天机器人集成
- c# - 如何将 YamlDocument 序列化为 yaml 字符串
- php - PHP 如何执行后台任务?
- deployment - 部署槽正在重定向到同一个根域
- arrays - 在数组中找到第二小的值的汇编程序
- python - 根据给定的列值创建多个 DataFrame
- amazon-web-services - AWS Lambda 使用 S3 触发器:区分创建和更新