相关疑难解决方法(0)

字符串文字匹配bool重载而不是std :: string

我正在尝试编写一个包含一些重载方法的C++类:

class Output
{
public:
    static void Print(bool value)
    {
        std::cout << value ? "True" : "False";
    }

    static void Print(std::string value)
    {
        std::cout << value;
    }
};
Run Code Online (Sandbox Code Playgroud)

现在让我说我调用方法如下:

Output::Print("Hello World");
Run Code Online (Sandbox Code Playgroud)

结果就是这样

真正

那么,为什么,当我定义该方法可以接受布尔值和字符串时,当我传入一个非布尔值时,它是否使用布尔重载?

编辑:我来自C#/ Java环境,对C++来说还是新手!

c++ string boolean overloading overload-resolution

35
推荐指数
3
解决办法
4468
查看次数

标签 统计

boolean ×1

c++ ×1

overload-resolution ×1

overloading ×1

string ×1