string 对象初始化

来源:互联网 发布:java两个日期相差天数 编辑:程序博客网 时间:2024/05/16 14:06

我在头文件里这样声明

WF_Error WriteLog(LOG_LEVEL mLevel,MODULE_CODE mModule, string msg,string filename=NULL,int line_num = 0);

在WINDOWS下编译、运行没问题,但是LINUX下编译可以通过,运行时出现下列错误

terminate   called   after   throwing   an   instance   of   'std::logic_error'  
      what():     basic_string::_S_construct   NULL   not   valid 

实际上,不应该这样声明的,应该

WF_Error WriteLog(LOG_LEVEL mLevel,MODULE_CODE mModule, string msg,string filename="",int line_num = 0);

 

 

这是别的BLOG里看到的:

是在类初始化时用了类似这样的东西  
  clasa   A{  
      public:  
          A(sting=   0;){}  
  };  
   
  这是不对的,string   不可以有NULL指针,若要只能写成  
  string   ="";

原创粉丝点击