所以我正在从 Stephen Prata 的书中学习 C++,我想做一个练习......所以问题是这样的:
我想在结构中使用 std::valarray ,在这样的类中:
class Wine
{
private:
struct Pair
{
std::valarray<int> valYear;
std::valarray<int> valBottlesNum;
};
int m_yearNum;
Pair m_numericData;
public:
Wine();
Wine(int, const int[], const int[]);
};
并通过成员初始化列表对其进行初始化:
Wine::Wine(int yearNum, const int year[], const int bottlesNum[])
: m_yearNum(yearNum),
m_numericData.valYear(yearNum, year),
m_numericData.valBottlesNum(yearNum, bottlesNum)
{}
但它只是不想工作。不知何故,编译器不喜欢这个“。” 访问初始值设定项列表中m_numericData结构的成员。
我可以放弃Pair结构并将valYear和valBottlesNum作为简单的类成员变量并像这样初始化它们......
Wine::Wine(, int yearNum, const int year[], const int bottlesNum[])
: m_yearNum(yearNum), m_valYear(yearNum, year), m_valBottlesNum(yearNum, bottlesNum)
{}
但我真的很想知道如何解决这种问题。
提前感谢!