Неподробное решение, позволяющее сделать переменную-член класса необязательной в зависимости от типа шаблона?C++

Программы на C++. Форум разработчиков
Anonymous
Неподробное решение, позволяющее сделать переменную-член класса необязательной в зависимости от типа шаблона?

Сообщение Anonymous »

Я хочу, чтобы переменная-член класса only_if_int определялась только в том случае, если экземпляр класса создается с типом шаблона int. У меня есть рабочее решение, но оно слишком многословное.

Код: Выделить всё

#include 
#include 

template
class MyClass;

template
class MyClass{
public:
int common;
int only_if_int;

MyClass()
{
common = 0;
only_if_int = 0;
}

void alter_values()
{
common++;
only_if_int++;
}
};

template
class MyClass>{
public:
int common;
MyClass()
{
common = 0;
}

void alter_values()
{
common++;
}
};

int main()
{
MyClass  int_class;
MyClass  float_class;
int_class.alter_values();
float_class.alter_values();

std::cout

Подробнее здесь: [url]https://stackoverflow.com/questions/63820176/non-verbose-solution-to-make-a-class-member-variable-optional-based-on-the-type[/url]

Вернуться в «C++»