不编译的行和编译的行有什么区别?不编译的行给出了这个警告: deprecated conversion from string constant to 'char*'
另外,我知道在传递给函数的字符串上强制转换 (char *) 可以解决问题,但我想了解为什么当第二行编译得很好时,这甚至是必要的。
class Student {
public:
Student( char name[] ) {
}
}
int main() {
Student stud( "Kacy" ); //does not compile
char name[20] = "Kacy"; //compiles just fine
}