|
4 / 4 / 1
Регистрация: 10.07.2011
Сообщений: 52
|
|
Конфликт одноименных полей классов из разных Namespace08.11.2012, 12:14. Показов 6449. Ответов 26
Метки нет (Все метки)
У меня есть задача следующего плана,
Хотелось бы в ПО иметь несколько однотипных классов Namespace1 Namespace2 Namespace3 Каждый в будущем хотело бы скомпилировать отдельной динамической библиотекой. Но пока это не суть... В namespace есть свои структуры, конструкторы, массивы, но они имеют одинаковые имена и вызовы, что мне позволяет компилировать ПО с любым namespace, только меняя её в директивах. Теперь я хочу получить возможность переключаться между ними динамически. Когда я подключаю все Namespace я получаю ошибку рода...: Ошибка 6 "cStatus" - неоднозначная ссылка между "Class1.cStatus" и "Class2.cStatus" Как мне написать это всё правильно?
0
|
|
| 08.11.2012, 12:14 | |
|
Ответы с готовыми решениями:
26
Использование одинаковых классов разных namespace Массив разных классов. Как добратся до всех полей этих классов? Связывание значений полей и свойств объектов разных классов |
|
4 / 4 / 1
Регистрация: 10.07.2011
Сообщений: 52
|
||
| 12.11.2012, 12:41 [ТС] | ||
|
ну не знаю зачем я задал разные неймспейсы, :-) наверное. потому что классы одинаково назвал, теперь назову по разному и попробую слить... сяб... )))
0
|
||
|
|
|||
| 12.11.2012, 13:47 | |||
|
Я как понял, класс как раз надо называть одинаково. То есть клиенту скидывается эксешник, библиотека с интерфейсом и библиотека для работы самой камеры. То есть можно будет просто менять библиотеку для работы другого типа камеры ничего не меняя в эксешнике (не делая миллиот if else if). Это будет можно, если названия классов будут одинаковые. Вообще это я так думаю, на деле не пробовал, но думаю, что всё так и есть. Добавлено через 1 минуту
1
|
|||
|
Master of Orion
|
|
| 12.11.2012, 13:48 | |
|
Casper-SC, нет, придется точно также уточнять в таком случае неймспейс. Единственный способ во время компиляции всем библиотекам присваивать один и тот же неймспейи и один и тот же класс. Но по мне проще написать миллион if-else, чем каждый раз мучаться, вручную меняя неймспейс (каждую библиотеку придется компилировать отдельно, иначе студия не разрешит компилировать два одинаковых класса в одном нейспейсе, а если поместить в разные - придется писать тот же миллион if-else для выбора неймспейса).
0
|
|
|
|
||
| 12.11.2012, 13:51 | ||
|
В том примере, что я написал, я думал надо именно в одном проекте 2 dll с одинаковыми классами и разными namespace'ами.
Добавлено через 1 минуту Добавлено через 1 минуту Короче, надо сидеть пробовать и подбирать самый подходящий вариант. Так с ходу сложно сказать, что лучше.
1
|
||
|
Master of Orion
|
|
| 12.11.2012, 13:53 | |
|
Casper-SC, это как раз просто. Я говорю: нужен или алогритм выбора неймспейса, или алгоритм выбора класса. Ну третий вариант, извращенский: компилируем в нативном неймспейсе class для camera1, скомпилировали, изменили, скомпилировали эту же dll, но запихнули в архив camera2...Потом с нужным архивом распаковывается и вуаля. Но мне проще написать метод выбора с switch, чем париться с ручными перестановками. Тем более, что при грамотном проектировании switch спокойно заменяется полиморфизмом.
0
|
|
|
4 / 4 / 1
Регистрация: 10.07.2011
Сообщений: 52
|
||
| 12.11.2012, 18:34 [ТС] | ||
|
Да именно так, мне именно требовалось наймспейсы разные, классы одинаковые. Просто вариант разные классы, объединённые интерфейсом и один наймспейс. видимо для меня то же подходит, чуть позже скомпилю оба варианта. Для тех, кто ищет решение пример в рекомендацию, в нём всё понятно, ещё раз большой сяб.
0
|
||
| 12.11.2012, 18:34 | |
|
наследование одноимённых классов Получение результатов выборки из одноименных полей Копирование значений однотипных одноименных полей класса Вызов одноименных функций классов наследников из родительского класса #include <list> - конфликт using namespace std с другими инклюдами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|