【问题标题】:Why this code outputs garbage value after swapping the values?为什么此代码在交换值后输出垃圾值?
【发布时间】:2021-10-24 15:22:51
【问题描述】:

将两个数字作为输入并交换它们并打印交换后的值。你不需要打印任何东西,它已经被处理好了。只需实现给定的函数。函数看起来像这样。

 pair < int, int > swap(pair < int, int > swapValues) {
         int c;
         c=swapValues.first; 
         swapValues.first=swapValues.second;
         swapValues.second=c;
         cout<<swapValues.first<<" "<<swapValues.second<<"\n";
    
         }

【问题讨论】:

  • 这段代码表现出未定义的行为,通过到达非void函数的右大括号而不遇到return语句。换句话说:该函数承诺返回一个pair&lt;int, int&gt;,但实际上并没有返回任何东西。

标签: c++ stl std-pair garbage utility-method


【解决方案1】:

只需替换该行 cout&lt;&lt;swapValues.first&lt;&lt;" "&lt;&lt;swapValues.second&lt;&lt;"\n";return swapValues;

如您的问题所述

你不需要打印任何东西,它已经被处理好了。

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 1970-01-01
    • 2021-11-02
    • 2020-12-17
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    相关资源
    最近更新 更多