我在一个函数中创建了一个可变长度数组,但是我需要在第二个函数中引用这个数组.当我将声明置于main()之上时,问题就出现了,因为它的长度尚未定义,我的编译器生气了.
人们通常如何解决这个问题?
编辑:
到目前为止,这是我的代码.
我需要使数组的名称[] midterm []和final []全局.他们都在student_input()中.
#include
using namespace std ;
void student_input();
void student_output();
int i , ns ;
main(){
int width,height,mult;
cout << "Enter the number of students:" << endl;
cin >> ns;
i = 0 ;
while( i < ns){
i = i + 1 ;
student_input();
}
i = 0 ;
while( i < ns){
i = i + 1 ;
student_output();
}
system("pause");
}
void student_input() {
int si_i,si_midterm,si_final, midterm[ns + 1], final[ns + 1];
string si_name, name[ns + 1];
cout << endl << endl << "\t----- Student " << i << " -----" << endl << endl << endl;
cout << "Enter name for student " << i << ":\t"<< endl;
cin >> si_name;
name[i] = si_name ;
cout << "Enter midterm score for student " << i << ":\t"<< endl;
cin >> si_midterm;
midterm[i] = si_midterm ;
cout << "Enter final exam score for student " << i << ":\t"<< endl ;
cin >> si_final;
final[i] = si_final ;
cout << endl << endl;
si_i = 0 ;
while (si_i < 7){
si_i = si_i + 1;
cout << "Enter lab " << si_i <
}
cout << name[i] << endl << midterm[i] << endl<
return;
}
void student_output() {
cout <
return;
}