参考:https://stackoverflow.com/questions/57101717/prevent-string-literals-from-being-converted-to-bool-versus-stdstring
问题:有两个重载函数 int a(std::string a) 和 int a(bool b) ,结果在调用字符串版本的 a("abc") 的时候,编译器自动去调用 int a(bool b) 了。
解决:直接声明一个 int a(const char *) 函数,然后里面再调用 a(std::string(a))