【问题标题】:supply a function with a string or an int [closed]提供带有字符串或 int 的函数 [关闭]
【发布时间】:2011-12-06 19:39:46
【问题描述】:

我有一个输出原始输入变量的函数(见下文)。问题是我不能拥有....

int print(std::string value){
    std::cout << value << std::endl;
return 0;   
}

如果我尝试给出一个 int,它会抛出一个错误。我需要一种能够为其提供任何变量类型的方法(稍后检查它是什么类型)并采取相应的行动

【问题讨论】:

    标签: c++ string int


    【解决方案1】:

    我完全重写了这个,因为我看错了问题......

    您可以使用模板来创建通用函数:

    template <class T>
    int print(const T& value)
    {
        std::cout << value << std::endl;
        return 0;
    }
    

    或者你可以简单地拥有两个不同的功能:

    int print(const std::string& value)
    {
        std::cout << value << std::endl;
        return 0;
    }
    
    int print(int value)
    {
        std::cout << value << std::endl;
        return 0;
    }
    

    【讨论】:

    • 使用 print(2) 时仍然报错;从“int”类型的临时变量中对“std::string&”类型的非常量引用进行无效初始化
    • 我重写了我的答案,请再看一遍。
    • 不客气!如果我回答了你的问题,请点赞+接受:)
    猜你喜欢
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2018-05-13
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    相关资源
    最近更新 更多