我想创建一个函数,您可以使用int
或string
变量作为参数,但我不知道如何。
我正在写一个我想要实现的例子:
#include <iostream>
#include <string>
using namespace std;
int function((int a) || (string a))
{
...;
}
int main()
{
int intvar;
string stringvar;
function(intvar);
function(stringvar);
return 0;
}
答案 0 :(得分:3)
我可以将逻辑运算符与函数参数一起使用吗?
不,你不能。
您基本上想要的是功能模板或重载。后者是最简单的方法:
int function(int a)
{
// ...;
}
int function(string a)
{
// ...;
}
如果你有不同类型的相同代码,请使用模板:
template<typename T>
int function(T a)
{
static_assert(std::is_convertible<T,int>() || std::is_convertible<T,std::string>());
// ...;
}
答案 1 :(得分:1)
您可能希望重载该函数并从另一个调用一个函数,例如:
int function(int a) {
// handle int parameter
}
int function(const string& s) {
int a = stoi(s);
return function(a);
}