Puede inicializar los miembros de la matriz como ésta usando C++ 11 compilador utilizando -std = C++ 11 o = -std GNU ++ 11 opción
struct student {
private :
int marks[5];
public :
char name[30];
int rollno;
student(int arr[], const char *name, int rno):marks{arr[0], arr[1], arr[2], arr[3], arr[4]}{
strcpy(this->name, name);
this->rollno = rno;
}
void printInfo() {
cout <<"Name : "<<this->name<<endl;
cout <<"Roll No : "<<this->rollno<<endl;
for(int i=0; i< 5; i++) {
cout <<"marks : "<<marks[i]<<endl;
}
}
};
int main(int argc, char *argv[]) {
int arr[] = {40,50,55,60,46};
//this dynamic array passing is possible in c++11 so use option -std=c++11
struct student s1(new int[5]{40, 50, 55, 60, 46}, "Mayur", 56);
//can't access the private variable
//cout <<"Mark1 : "<<s1.marks[0]<<endl;
s1.printInfo();`enter code here`
}
Tengo 10 C++. Así que tuve que hacerlo de manera difícil. Gracias por todas sus respuestas. –
¿Sig(): declarando el constructor? Esta respuesta sería más útil para los principiantes si coincidiera con el diseño básico de la pregunta, para que podamos ver cómo funciona el constructor. ¿Cuál es el vacío '{}'? – GreenAsJade
¿Y por qué no hay ';' después del inicializador? – GreenAsJade