最近遇到了几个C++问题,在这里总结一下,希望可以避免其他朋友犯同样的错误。
一.隐式转换引发的血案
我们直接来看一段代码:
#include <iostream>
#include <string>
#include <vector>
#include <set>
#include <map>
using namespace std;
void a(bool input)
{
cout<<"I amd first"<<endl;
cout<<input<<endl;
}
void a(const string &input)
{
cout<<"I amd second"<<endl;
cout<<input<<endl;
}
int main(int argc,char **argv)
{
a("str"); // 是调用第二个a函数吗?
a(string("str"));
return 0 ...