提供带有字符串或 int 的函数 [关闭]

Posted

技术标签:

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

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

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

如果我尝试给出一个 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&”类型的非常量引用进行无效初始化 我重写了我的答案,请再看一遍。 不客气!如果我回答了你的问题,请点赞+接受:)

以上是关于提供带有字符串或 int 的函数 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中将数组 char 复制到字符串或 int* (void *) 中? [关闭]

java中一些字符串函数的作用

该函数应返回字符串乘以整数[关闭]

使用带有可变参数字符串的函数

将带有字符串的结构化 numpy 数组传递给 cython 函数

打印带有括号的字符串[关闭]