5
ответов

Проблема GCC: использование члена базового класса, который зависит от аргумента шаблона

Следующий код не компилирует с gcc, но делает с Visual Studio: шаблон <имя типа T> класс A {общественность: T нечто;}; шаблон <имя типа T> класс B: общественность <T> {public:...
вопрос задан: 18 March 2017 19:06
5
ответов

Распространение 'typedef' из базового в производный класс для 'template'

Я пытаюсь определить базовый класс, который содержит только typedef. шаблон класс A {public: typedef std :: vector Vec_t; }; шаблон класс B: общедоступный A & ...
вопрос задан: 16 August 2012 17:43
3
ответа

Ошибочный частный недоступный базовый класс?

Компиляция этого кода с помощью g ++ 4.2.1: структура S {}; шаблон <имя типа T> структура ST {}; шаблон <имя типа BaseType> класс ref_count: частный BaseType {}; шаблон <имя типа...
вопрос задан: 18 July 2012 06:25
2
ответа

Почему ADL не находит шаблоны функций?

Какая часть спецификации C++ ограничивает зависимый поиск аргумента в нахождении шаблонов функций в наборе связанных пространств имен? Другими словами, почему делает последнюю возможность в основном ниже сбоя к...
вопрос задан: 28 July 2018 13:20
2
ответа

Полученный доступ шаблонного класса к членским данным базового класса

Этим вопросом является содействие того, которое спрашивают в этом потоке. Используя следующие определения классов: шаблон <класс T> класс Foo {общественность: Foo (константа foo_arg_t foo_arg): _foo_arg (...
вопрос задан: 23 May 2017 12:34
1
ответ

Шаблонный класс множественного наследования

класс messageA {}; класс messageB {}; шаблон <класс T> очередь класса {общественность: виртуальные ~queue () {} пусто отправляют (T& x) {}}; класс A: общедоступная очередь <messageA>, общедоступная очередь <...
вопрос задан: 14 May 2013 05:15
0
ответов

Почему функции-члены класса затеняют свободные функции с тем же именем?

Недавно я обратил внимание на то, что функции-члены полностью затеняют свободные функции с тем же именем внутри класса. И под полностью я подразумеваю, что каждая свободная функция с тем же именем...
вопрос задан: 11 October 2019 13:01
0
ответов

Требуется ли пространство имен при обращении к базовому классу

У меня есть такой код: пространство имен N {класс B {public: virtual void doStuff (B *) = 0; }; } // не в классе пространства имен Derived: public N :: B {public: void doStuff (B * ...
вопрос задан: 9 September 2019 21:19
0
ответов

Что такое «поиск, зависимый от аргументов» (он же ADL или «поиск по Кенигу»)?

Каковы некоторые хорошие объяснения того, что такое поиск, зависимый от аргументов? Многие также называют это Koenig Lookup. Предпочтительно я хотел бы знать: почему это хорошо? Почему это плохо? Как ...
вопрос задан: 20 July 2018 18:02
0
ответов

Странное поведение использования-декларации

пожалуйста, смотрите следующую структуру кода A {using type = int; }; структура B: частный A {}; struct C: B {используя base_type = A; }; Все gcc 6.1, clang 3.8 и msvc 2015 update 3 отказываются компилировать это, ...
вопрос задан: 4 July 2016 08:20
0
ответов

3.4.2 Поиск имени в зависимости от аргумента из n3290 Draft

Пункт из проекта ISO n3290, раздел 3.4 .2 абзац 1: Когда постфиксное-выражение в вызове функции является неквалифицированным-идентификатором, другие пространства имен, не учитываемые во время обычного неквалифицированного поиска, могут ...
вопрос задан: 18 July 2012 06:04
0
ответов

В шаблонизированном производном классе, почему мне нужно уточнять имена членов базового класса с помощью "this->" внутри функции-члена?

Исследуя исходный код Qt, я увидел, что ребята из trolltech явно используют это ключевое слово для доступа к полю в деструкторе. inline ~QScopedPointer() { T *oldD = this->d; Cleanup::cleanup(...
вопрос задан: 18 July 2012 05:44
0
ответов

Частное наследование: ошибка поиска имени

У меня есть следующий пример кода, который не компилируется: #include namespace my {class base1 {// строка 6}; class base2: private base1 {}; производный класс: ...
вопрос задан: 18 July 2012 05:27
0
ответов

Алгоритм нахождения наименьшего количества прямоугольников для покрытия набора прямоугольников без перекрытия

У меня есть набор прямоугольников, и я хотел бы «уменьшить» набор, чтобы у меня было наименьшее количество прямоугольников для описания той же области, что и исходный набор. Если возможно, я хотел бы, чтобы это было быстро, ...
вопрос задан: 10 March 2012 04:00
0
ответов

Объявление друга специализации шаблона терпит неудачу

Следующий код, содержащий объявление друга, не работает с указанной ошибкой (см. Http://ideone.com/Kq5dy): template void foo () {} template класс A {void foo (); ...
вопрос задан: 23 December 2011 07:22
0
ответов

Неоднозначное выражение доступа к члену: отклоняет ли Clang действительный код?

У меня есть код, который для целей этого вопроса сводится к шаблону {{ 1}} class TemplateClass: public T {public: void method () {} template static ...
вопрос задан: 10 December 2011 03:50
0
ответов

Разрешение области для создания экземпляра шаблона

У меня есть следующий набор классов (минимальная репликация моей реальной ситуации): пространство имен Parent {class A {}; пространство имен Nested {class A {}; } template class B ...
вопрос задан: 23 November 2011 13:12
0
ответов

Поиск по именам вложенных классов с наследованием

Гарантированно ли это сработает: struct A {struct Gold {}; }; структура B: общедоступная A {typedef Gold BaseGold; struct Gold {}; }; структура C: общедоступная B {typedef Gold BaseGold; struct Gold {}; }; ...
вопрос задан: 12 August 2011 12:30
0
ответов

Неопределенное имя внедренного класса не является ошибкой

То, что я прочитал в стандарте C ++ о введенных именах классов, противоречит (как я это вижу) поведению примера программы, которую я представлю в ближайшее время. Вот что я прочитал: Из 3.4 (параграф 3) ...
вопрос задан: 11 August 2011 11:28
0
ответов

Проект ISO C ++ - 3.4.2 / 3 - Поиск имени, зависимого от аргумента

Пункт из проекта ISO C ++ (n3290): 3.4.2 / 3 Поиск имени, зависимого от аргумента: Пусть X будет набором поиска, созданным неквалифицированным поиск (3.4.1) и пусть Y будет набором поиска, созданным аргументом ...
вопрос задан: 3 August 2011 07:41
0
ответов

поиск по имени с неполным именем: C ++ 0x draft n3290

Пункт из ISO C ++ Draft n3290: 3.4.0 2-й пункт Имя «искал в контекст выражения »ищется как неквалифицированное имя в области, в которой найдено выражение. Было бы ...
вопрос задан: 15 June 2011 11:55
0
ответов

Скрывает ли переопределение неконстантного виртуального метода перегрузку константы?

Примите во внимание: #include с использованием пространства имен std; struct A {virtual void f () {cout << "A :: f" << endl; } virtual void f () const {cout << "A :: f const" << endl; } ...
вопрос задан: 11 November 2010 09:51