Я хочу иметь массив как член класса, но единственный способ, которым я знаю, как инициализировать массив в конструкторе, - это добавить каждый элемент по отдельности (array [x] = char)Инициализация массива в конструкторе C++
class MyClass
{
public:
MyClass();
~MyClass();
void PrintLetters(); // Prints each character in the array
private:
int alpha[3]; // Allocate memory for array
};
MyClass::MyClass()
{
// Initialize the array
alpha[0] = 1;
alpha[1] = 2;
alpha[2] = 3;
PrintLetters();
}
MyClass::~MyClass()
{
}
void MyClass::PrintLetters()
{
for (int x = 0; x < 3; x += 1)
{
cout << alpha[x] << endl;
}
}
int main()
{
MyClass abc;
return 0;
}
Есть ли другой способ сделать это? Если я пытаюсь сделать это следующим образом:
MyClass::MyClass()
{
// Initialize the array
alpha[3] = {1, 2, 3};
PrintLetters();
}
Я получаю следующее сообщение об ошибке: Выражение синтаксиса в Turbo C++
Я подтверждаю, что он по-прежнему не работает с VC2013 ... – BlackDwarf
[web компилятор] (http://webcompiler.cloudapp.net/) компилирует его. Так что да, это было реализовано. – chris
Произведения 'std :: array' в VC120, IIRC. – melak47