Arrays 如何将字符arr[4][50]转换为字符**arr charf[4][50]; 对于(int j=0;j>f[j]; 课程[i]。设置域((字符**)和f); write((char*)(Courses[i].getFeild()),50); }

Arrays 如何将字符arr[4][50]转换为字符**arr charf[4][50]; 对于(int j=0;j>f[j]; 课程[i]。设置域((字符**)和f); write((char*)(Courses[i].getFeild()),50); },arrays,char,Arrays,Char,这段代码对运行时错误有帮助吗 您已将f声明为 字符f[4][50] 本质上,f是指向数组中第一个字符串的第一个字符的指针。因此,在f in之前,不需要一个与符号: char f[4][50]; for (int j = 0; j < 4; j++){ cin>>f[j]; Courses[i].setFields((char**)&f); file.write((char*)(Courses[i].getFeild()),50); }

这段代码对运行时错误有帮助吗

您已将f声明为

字符f[4][50]

本质上,f是指向数组中第一个字符串的第一个字符的指针。因此,在f in之前,不需要一个与符号:

char f[4][50];
 for (int j = 0; j < 4; j++){
    cin>>f[j];
    Courses[i].setFields((char**)&f);
    file.write((char*)(Courses[i].getFeild()),50);
    }   

它给出了相同的错误,程序不接受任何输入值,只是关闭了
Courses[i].setFields((char**)f)