C/C++报错:
error: crosses initialization of ‘pj_xml_node* pXmlNode’
pj_xml_node* pXmlNode = NULL;
原因(在一个代码块中初始化一个变量,而这个代码块包含了跳转语句):
存在goto、switch语句与其他变量初始化顺序问题,变量声明、初始化要放在goto之前
改正示例:
pj_xml_node* pXmlNode = NULL;
goto err_exit;
// some code...
err_exit:
或者
pj_xml_node* pXmlNode = NULL;
switch(condition) {
case 1:
// some code...
break;
default:
// some code...
break;
}