这个有关问题还没解决

这个问题还没解决
#include <stdlib.h>
#ifndef PERSON_H_
#define PERSON_H_
class Person
{
private:
char firstname[20];
char lastname[20];
public:
Person() : firstname("null"), lastname("null") {}
Person( const char * fn,  const  char* ln ) ;
virtual void Show() const;
};
#endif
 ,我直接在构造函数中用初始化列表把“null'赋给firstname和lastname为什么不报错。。。。这样难道是可以的吗
------解决思路----------------------
引用:
firstname 被当做指针,指向常量字符串“null”


VS下编译错误,你什么编译器?