У меня есть этот классинициализация статического массива в конструкторе (C++)
class Dot
{
public: // Methods
Dot(); // Default Constructor
Dot (int dot [], int k); // Constructor
~Dot(); // Destructor
int getDot(); // Get Function
void setDot (int dot []); // Set Function
void PrintDot(); // Print Dot
private: // Attributes
int m_k;
int m_dot [];
};
И я хочу, чтобы написать конструктор
Dot::Dot(): m_k(2), m_dot[] ({0,0}) // Compilation Error
Dot::Dot (int dot [], int k)
{
m_k=k;
m_dot [k]= dot [k];
}
по умолчанию, но я не знаю, как инициализировать статический массив m_dot в конструктор по умолчанию. Она не работает ... Я не могу инициализировать его как константу из второго конструктора (можно изменить значение к и точка массива там)
Благодарности
Если я понимаю, это невозможно ... поэтому я могу написать второй конструктор Dot :: Dot (int dot [], int k), как это? Если я использую динамический массив, он работает? – Laura
@Laura Почему бы просто не использовать 'std :: vector'? Синтаксис пустого массива в любом случае не является законным C++, по крайней мере, в том контексте, в котором вы его используете. – PaulMcKenzie
@PaulMcKenzie вы имеете в виду, используйте динамический массив? И как я могу инициализировать его, поскольку я могу использовать его в двух конструкторах? – Laura