C ++ 11 соответствие цепочечной конструкции в g ++ - PullRequest
3 голосов
/ 12 ноября 2011

Мне было просто интересно, действительно ли g ++ соответствует стандарту цепочечных конструкторов C ++ 11 (или как он там называется).

пример:

class MyClass
{
  MyClass(int x, int y = 0);
  MyClass(int y = 0) : MyClass(8, y) {}
};

Я получаю эту ошибку, хотя я включил параметр -std = c ++ 0x (или -std = gnu ++ 0x) (нет -std = c ++ 11)

ошибка: тип "MyClass" не является прямым основанием "MyClass"

Я не хочу спешить с выводами, и я осмотрел сеть, но, похоже, не могу найти никакой информации об этом.

Кстати, я использую g ++ (Debian 4.6.2-4) 4.6.2

1 Ответ

11 голосов
/ 12 ноября 2011

Это еще не поддерживается (ищите делегирующих конструкторов).

Кроме этого, вы не думаете, что ваш дизайн очень неоднозначный?На что MyClass(1) позвонить?

...