On-line: гостей 0. Всего: 0 [подробнее..]
Программисты всех стран, объединяйтесь!

АвторСообщение



ссылка на сообщение  Отправлено: 22.08.19 19:09. Заголовок: Баг компилятора gcc относительно унаследованных конструкторов для пакета параметров.


Сегодня открыл для себя следующий баг компилятора gcc HEAD 10.0.0 20190 относительно унаследованных конструкторов при использовании пакета параметров в using-объявлении.

Следующая демонстрационная программа не компилируется.

 
#include <iostream>

struct A
{
A() = default;
A( int ) {}
};

struct B
{
B() = default;
B( const char * ) {}
};

template <typename... Bases>
struct C : Bases...
{
using Bases::Bases...;
};

int main()
{
}


ошибка компиляции:
 
rog.cc:18:23: error: parameter packs not expanded with '...':
18 | using Bases::Bases...;
| ^~~
prog.cc:18:23: note: 'Bases'

В то время если использовать компилятор clang HEAD 9.0.0, то программа успешно компилируется.

Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет


Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 31
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет