我最近得到了这个简单的C编程代码。我试图找到这两个参数的数据类型。但我不能。有人知道这里要使用什么数据类型吗?
这是代码。我尝试了 double 但还有一个字符串作为参数
#include <iostream>
using namespace std;
void func(double val1 ,double val2){
cout << val1 << " " << val2 << endl;
}
int main(){
func(8, 10);
func(33, "Hi there");
func(2.5, 16.5);
return 0;
}
既然您用 C++ 标记,一种解决方案是使用 函数模板。
参数的类型将被模板化,因此编译器将根据需要实例化尽可能多的函数,以便与您提供的参数一起使用。
它会起作用,因为
std::cout
已经为您当前使用的所有类型提供了重载:
#include <iostream>
template <typename T1, typename T2>
void func(T1 const & val1, T2 const & val2) {
std::cout << val1 << " " << val2 << std::endl;
}
int main() {
func(8, 10);
func(33, "Hi there");
func(2.5, 16.5);
}
输出:
8 10
33 Hi there
2.5 16.5