如下面的代码,函数重载,在main函数中,std::string value = testa.getValue("hah"teasta");这一句代码提示失败,原因是无法从bool类型转换成std::string类型,求大神解决这个问题。
#include <iostream>
#include <string>
class TestA{
public:
std::string getValue(std::string name, std::string defaultValue);
bool getValue(std::string name, bool defaultValue);
};
std::string TestA::getValue(std::string name, std::string defaultValue){
if (name == "haha"){
return defaultValue;
}
return "Hello World";
}
bool TestA::getValue(std::string name, bool defaultValue){
if (name == "haha"){
return defaultValue;
}
return true;
}
int main(){
TestA testa;
std::string value = testa.getValue("haha", "testa");
if (value == "testa"){
printf("haha");
}
return 0;
}