关于std::string一个奇怪现象,求讲解

我声明了这两个变量:

![](file:///C:/Users/%E6%88%91%E7%9A%84%E6%96%87%E6%A1%A3/Desktop/1.png)

把我声明的这两个变量带入到这个函数里 赋值:

![](file:///C:/Users/我的文档/Desktop/2.png)

赋值到的值 在带入CSLoad::createNode()加载这个节点,有时可以加载 有时又会报错 node读取不到东西!!

![](file:///C:/Users/我的文档/Desktop/3.png)

是std::string的使用错误,应该不是CSLoad::create()这个有问题 ,

在声明前面加上static 试下

提醒一下楼主,通常参数写法是const string &xx,而不是string& xx。:2::2::2::2::2:

不推荐传入引用进行改变的写法,c++基本没有这种写法。简单改写可以用返回值,std::piar包装两个值。更好的办法,利用witch分支调用函数,直接传入不同的名称case 1:xx(“1”,“2”),类似这样。更进一步,如果分支太多怎么办,读入配置文件,存进map,然后根据key读取对应的数据结构体。