Итак, я застрял при компиляции проекта в visual-studio-2010 и кажется, что decltype
не реализовано.
Например:
template <typename T>
struct foo {
typedef pair<T, T> PointType;
private:
PointType point;
};
Когда я пытаюсь определить переменную следующим образом:
foo<int> myFoo;
decltype(myFoo)::PointType myBar;
Я получаю сообщение об ошибке:
ошибка C2039:
PointType
: не является членом «глобального пространства имен»
Я хочу связать тип myBar
с типом myFoo
. Есть ли другой способ сделать это, или мне не повезло с visual-studio-2010?
decltype(myFoo) myBar
ассоциировал его сfoo
илиdecltype(myFoo.point) myBar
сPointType
? - person zzxyz   schedule 10.11.2017point
является закрытым. Поэтому я не могу использовать тип переменной-члена. - person Jonathan Mee   schedule 10.11.2017typedef foo<int> MyFoo; MyFoo my_foo; MyFoo::PointType my_bar;
- person user7860670   schedule 10.11.2017myFoo::PointType myBar
не нигде не разрешено: ideone.com/hhd21B - person Jonathan Mee   schedule 10.11.2017