Тот факт, что вы получаете сообщение об ошибке от вашего компилятора (когда он работает в соответствии с 4.6.1), указывает на потенциальную ошибку компилятора, которая будет исправлена в более поздних версиях. Тем не менее, необычно использовать BOOST_TYPEOF
на ваших собственных элементах данных - в конце концов, вы должны знать, какого они типа, верно? Если вы хотите объединить некоторую сложную логику для определения правильного типа, просто используйте typedef
:
private:
typedef int data_type;
data_type x_;
public:
data_type x() { return x_; }