|
1 / 1 / 0
Регистрация: 03.07.2014
Сообщений: 13
|
|||||||||||||||||||||
Видимость в классах14.07.2015, 14:08. Показов 1283. Ответов 5
Метки нет (Все метки)
Убунту, стоит Code::Blocks IDE, стандартные настройки.
Есть два класса, первый Кликните здесь для просмотра всего текста
Второй: Кликните здесь для просмотра всего текста
Например во втором классе пишу следующее: Кликните здесь для просмотра всего текста
Ошибки: Кликните здесь для просмотра всего текста
error: ‘Knoten’ was not declared in this scope
‘lauf’ was not declared in this scope Так же не находит _first и _last В первом классе все работает без проблем. Во втором нужно приписывать ListenContainer<T>:: перед каждым методом и атрибутом из второго. Верхнюю функцию компилятор принимает только если во втором классе так же добавить класс Knoten и прочие ограничения. Что бы понятнее, код, который можно запустить: Работает, но не самое изящное решение Второй класс Кликните здесь для просмотра всего текста
В VisualStudio такой проблемы нет. Все папки, место и include проверялись неоднократно. При наведении курсора все распознается верно, но код не хочет запускаться. Что нужно сделать во втором классе, что бы просто напрямую использовать все методы и атрибуты, а не приписывать каждый раз ListenContainer<T>:: Пробовала GNU GCC Compiler и Intel C/C++ Compiler
0
|
|||||||||||||||||||||
| 14.07.2015, 14:08 | |
|
Ответы с готовыми решениями:
5
Ограничения в классах C++ Приравнивание переменных в классах. Видимость в классах |
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 14.07.2015, 16:37 | ||
|
Срезать угол можно добавив в дочерний класс using ListenContainer<T>::first_; и using typename ListenContainer<T>::Knoten;
1
|
||
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|||||||||||||
| 16.07.2015, 09:06 | |||||||||||||
Сообщение было отмечено Julia_Tallo как решение
Решение
Добавлено через 14 минут http://blog.llvm.org/2009/12/d... ookup.html http://www.codeproject.com/Art... rt-III-Two Добавлено через 6 минут Т.е. если объединить наши с 0x10 рекомендации, то код мог бы выглядеть так:
2
|
|||||||||||||
| 17.07.2015, 16:53 [ТС] | |
|
Не по теме: Спасибо большое! В других методах пошли уже такие пятиэтажные конструкции, что больше внимания пришлось уделять им, а не алгоритму.
0
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 18.07.2015, 16:29 | |
|
я не уверен, что правильно понял вопрос, но кажись friend-декларации должны помочь в проблеме видимости protected-мемберов. другое дело, почему find седелали внешней функцией. по смысло ее можно включить в ListContainer (поддерживаю предыдущих ораторов)
0
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||
| 18.07.2015, 16:40 | ||
|
Видимость ограничивается из-за множества возможных потенциальных вариантов, возникающих при специализации базового класса. Так, _first и _last могут вообще исчезнуть из конкретной инстанции ListenContainer, зато могут появиться такие идентификаторы, например, в области видимости вне класса. Поэтому компилятор требует подтверждения в том, куда относятся эти имена, чтобы неявно не компилировать (потенциально некорректный) код.
1
|
||
| 18.07.2015, 16:40 | |
|
Помогаю со студенческими работами здесь
6
Видимость и не видимость кнопки на форме
Определить, какие из этих имен встречаются во всех классах, какие есть хотя бы в двух классах, и какие - только в одном классе
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|