gpt4 book ai didi

c++ - 交换在 int 的情况下失败,在 string 的情况下有效

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:17 26 4
gpt4 key购买 nike

#include <iostream>
#include <string>
#include <algorithm>
int main()
{
std::string str1 = "good", str2 = "luck";
swap(str1,str2); /*Line A*/
int x = 5, y= 3;
swap(x,y); /*Line B*/
}

如果我评论 B 行代码编译 (http://www.ideone.com/hbHwf) 而评论 A 行代码编译失败 (http://www.ideone.com/odHka) 我得到以下错误:

error: ‘swap’ was not declared in this scope

为什么我在第一种情况下没有得到任何错误?

最佳答案

swap(str1, str2) 因为 Argument dependent lookup 而起作用

附言:Pitfalls of ADL

关于c++ - 交换在 int 的情况下失败,在 string 的情况下有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com