今天写代码踩个大坑,
比如这么行代码:
lept_value testv = test.lept_parse_number(test.json, test.index);
右边的函数返回类型是lept_value&,调式的时候调到该语句,显示返回值内变量正常,进一步调试,跳入lept_value的拷贝构造函数中,在参数行成员变量仍正确,而进入函数体真正开始执行语句时,所有成员变量全乱了。
百思不得其解,问了v神,才发现犯了个弱智错误:lept_parse_number这个函数中返回了一个临时变量的引用。
离大谱。