Короче говоря, я написал фрагмент кода, как показано ниже. Этот фрагмент содержит шаблонный класс двух типов. И его зовут Нум.
#include <iostream>
using namespace std;
template <typename N, typename U>
class Num
{
public:
Num(): num0(3), num1(4.56)
{
cout << "This is number: " << num0 << endl;
cout << "This is number: " << num1 << endl;
}
private:
N num0;
U num1;
};
int main()
{
Num<int, double> num();
return 0;
}
Код работает нормально, но по какой-то причине мне нужно обернуть типы при передаче в экземпляр класса. Чтобы быть более понятным, вместо:
Num<int, double> num();
мне нужно что-то вроде этого:
Num<(int, double)> num();
Я хочу это для тестирования двухпечатного класса в google typed-testкогда вы вводите типы для проверки в качестве макроса TYPED_TEST_CASE.