Function templates _____________ A. must have exactly one parameter B. may have more than one parameter as long as they are of the same type C. may have more than one parameter of any type D. may not have parameters

must have exactly one parameter
may have more than one parameter as long as they are of the same type
may have more than one parameter of any type
may not have parameters

The correct answer is: C. may have more than one parameter of any type

A function template is a function that can be used with different types of

arguments. This is done by using a placeholder type in the function definition. The placeholder type is then replaced with the actual type when the function is called.

For example, the following function template can be used to add two numbers of any type:

c++
template <typename T>
T add(T a, T b) {
return a + b;
}

This function can be called with any two types of arguments. For example, the following code calls the function

to add two integers:

c++
int a = 1;
int b = 2;
int c = add(a, b);

The function template is also able to handle different types of arguments in the same call. For example, the following code calls the function to add an integer and a float:

c++
int a = 1;
float b = 2.0;
float c = add(a, b);

In this case, the integer is converted to a float before the addition is performed.

Function templates are a powerful tool that can be used to write code that is more generic and reusable.