Rotate image (square matrix) by 90 deg
Tue, 06 May 2025
What will be the output of the below C++ program:
// Template Function - Not taking class
template <class T, int i> int myFun(){
T x = 10;
i = 20;
}
int main(){
fun<int, 4>();
return 0;
}
Solution:The below program will result in compile time error.
The template function uses two template arguments. First is of type class (or typename and second is a non-type.
In class type argument we have to pass a typename (like char, int, float etc.) or class name (user defined class).
In non-type argument we have to pass a constant value (derivable at compile time). this value can be used to specify the size of array (because it is constant).
template <int i> int myFun(){
int arr[i]; //OK because i is compile time constant
}
Because the non-type is compile time constant, hence it cannot be changed. We are trying to change i in original program
i = 20;
Hence, an error.
Tue, 06 May 2025
Tue, 06 May 2025
Tue, 06 May 2025
Leave a comment