C++ 返回的字符串和获取的字符串不匹配
我定义了以下函数对字符串执行一些操作并返回结果:C++ 返回的字符串和获取的字符串不匹配,c++,string,C++,String,我定义了以下函数对字符串执行一些操作并返回结果: string Message() { string result = ""; int l; result += "1"; for(l = 0; l < routers; l++) { result += " " + table[l]; } cout<<result<<endl; return result; } 原因可能是什么?您在“其他操作”中的代码很可
string Message()
{
string result = "";
int l;
result += "1";
for(l = 0; l < routers; l++)
{
result += " " + table[l];
}
cout<<result<<endl;
return result;
}
原因可能是什么?您在“其他操作”中的代码很可能修改了全局变量路由器
,或者不太可能修改了变量表
祝你好运 您在“其他操作”中的代码很可能修改全局变量路由器
,或者不太可能修改变量表
祝你好运 我不知道某些系统有什么问题,但对我来说,我把“l<路由器”部分改为“l我不知道某些系统有什么问题,但对我来说,我把“l<路由器”部分改为“l你的代码看起来不错”。你确定这一切都是正确的吗?显示一个显示问题的真实程序。真实程序修改一个select函数,并将变量a中的消息发送给其他客户端。你的代码看起来不错。你确定这一切都是正确的吗?显示一个显示问题的真实程序。真实程序适应一个select函数,并将变量a中的消息发送给其他客户端。否,在程序执行期间,路由器和表变量都不会被触摸。否,在程序执行期间,路由器和表变量都不会被触及。我不知道这背后的原因是什么,但当我在“while”循环中获取函数的结果时,它并没有完全返回结果。我不知道这背后的原因是什么,但当我在“while”循环中获取函数的结果时,它没有完全返回结果。
while(true)
{
string a = Message();
cout<<a<<endl;
//do some operation
}
1 12 13 15 21 1 (printed out before exiting the function)
1 12 13 15 21 (after fetching)
string Message()
{
string result = "";
int l;
result += "1";
for(l = 0; l <= routers; l++)
{
result += " " + table[l];
}
cout<<result<<endl;
return result;
}