я пытаюсь определить класс A
следующим образом:Тип переменной-члена должно зависеть от типа аргумента конструктора в
template< typename T >
class A
{
public:
A(T elem)
: _elem(elem)
{}
private:
TYPE _elem; // "TYPE" should be either "T" in case "elem" is an r-value or "T&" in case "elem" is an l-value.
};
Здесь я хочу _elem
иметь либо тип T
в случае, когда аргумент конструктора elem
является r-значение или тип T&
в случае, если elem
является l-значением.
Кто-нибудь знает, как это можно реализовать?
Я недостаточно умен, чтобы написать это для вас, но вы достигаете этого, используя шаблон * специализацию *. Направлено на привлечение внимания. – Bathsheba
Мне тоже нужно это делать (при написании классов классов) ... –