Вот самый простой случай, что я пытаюсь сделать: < /p>
template
struct WrapperTraits { };
template
struct Foo {
private:
// I want Foo here to refer to the template, and not the current
// concrete type (which is injected into the namespace by default)
using Traits = WrapperTraits;
};
int main()
{
return 0;
}
< /code>
И вот ошибка на Clang 3.6 (он хорошо компилирует на GCC 4.8 и 5.2): < /p>
error: template argument for template template parameter must be a class template or type alias template
using Traits = WrapperTraits;
^
1 error generated.
Compilation failed
< /code>
Вот пример, о котором идет речь, на Godbolt: https://gcc.godbolt.org/#%7B%22Version% ... ue%2C%22CO Mmentonly%22%3Atrue%7D%2C%22Compilers%22%3A%5B%7B%22SOURCEZ%22%3A%22C4UWTGDGNGHQAEAEULYOQTWIADJMIADMQHZWDGSAZOOBOME2DJAU Fcawk7nd0mleawaqtajbbaab3gbfanzsvkahbbjgwxpilf6acw0a3ery69%2b8agib7o%2fbnsidcsy0agugevcrwac3hxgclaaf5bzlywimr7oxjljrv2qi EWCJWACGBKDMCFBHBGHGYCEAAGVKAA%3D%22%2C%22COMPILER%22%3A%22CLANG36X%22%2C%22OPTENS%22%3A%22-STD%3DC%2B%2B14%22%7D%5D%7D
Подробнее здесь: https://stackoverflow.com/questions/340 ... -parameter
Обратитесь к собственному типу для параметра шаблона шаблона [Duplicate] ⇐ C++
Программы на C++. Форум разработчиков
1749483409
Anonymous
Вот самый простой случай, что я пытаюсь сделать: < /p>
template
struct WrapperTraits { };
template
struct Foo {
private:
// I want Foo here to refer to the template, and not the current
// concrete type (which is injected into the namespace by default)
using Traits = WrapperTraits;
};
int main()
{
return 0;
}
< /code>
И вот ошибка на Clang 3.6 (он хорошо компилирует на GCC 4.8 и 5.2): < /p>
error: template argument for template template parameter must be a class template or type alias template
using Traits = WrapperTraits;
^
1 error generated.
Compilation failed
< /code>
Вот пример, о котором идет речь, на Godbolt: https://gcc.godbolt.org/#%7B%22Version%22%3A3%2C%22Filterasm%22%3A%7B%22Labels%22%3Atrue%2C%22Directives%22%3Atrue%2C%22CO Mmentonly%22%3Atrue%7D%2C%22Compilers%22%3A%5B%7B%22SOURCEZ%22%3A%22C4UWTGDGNGHQAEAEULYOQTWIADJMIADMQHZWDGSAZOOBOME2DJAU Fcawk7nd0mleawaqtajbbaab3gbfanzsvkahbbjgwxpilf6acw0a3ery69%2b8agib7o%2fbnsidcsy0agugevcrwac3hxgclaaf5bzlywimr7oxjljrv2qi EWCJWACGBKDMCFBHBGHGYCEAAGVKAA%3D%22%2C%22COMPILER%22%3A%22CLANG36X%22%2C%22OPTENS%22%3A%22-STD%3DC%2B%2B14%22%7D%5D%7D
Подробнее здесь: [url]https://stackoverflow.com/questions/34075100/refer-to-own-type-for-a-template-template-parameter[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия