创建一个对象数组,没有匹配的构造函数初始化的错误

时间:2016-11-11 20:54:51

标签: c++ arrays constructor

我正在尝试创建一个对象BuyOrder

的数组
BuyOrder buy[10];

为什么我收到错误说“没有匹配的BuyOrder [10]的构造函数初始化”?

以下是BuyOrder构造函数。我是否必须创建另一个默认构造函数?

BuyOrder::BuyOrder(double price, int quantity, Stock &s)
    :buyPrice{ price },
    buyQuantity{quantity},
    buyStock{ s } 
    {}

1 个答案:

答案 0 :(得分:0)

就像我在评论中所说,你can会为小数组聚合初始化。

#include <array>

struct example
{
    example(int, double) {}
    example(example const&) = delete;
};

int main() {

    example arr1[2] {
      {1, 3.4},
      {2, 5.6}
    };

    std::array<example, 2> arr2 {{
      {1, 3.4},
      {2, 5.6}
    }};

    return 0;
}