|
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 13
|
||||||||||||||||
Непонятки с пространством имен25.09.2011, 08:27. Показов 4245. Ответов 11
Метки нет (Все метки)
Есть основной файл проекта - start.cpp , файл описания формы Form1.h , и файл с обработчиками формы actions.cpp, ниже код каждого.
При компиляции почему-то actions.cpp не видит пространства имен созданного в Form1.h и пишет actions.cpp(2): error C2871: 'Start' : a namespace with this name does not exist Что не так? start.cpp:
забыл сказать: если бросить содержимое actions.cpp в конец Form1.h , то все раьотает. Так что проблема в том что один модуль не видит другого. Но почему? Добавлено через 52 минуты только что вычислил, что все модули подключаемые с главного файла проекта(start.cpp) могут разделить с ним неймспейс, а вот между собой какого-то хеpа - нет. Есть мысли? Гугл уже весь итзлазил.
0
|
||||||||||||||||
| 25.09.2011, 08:27 | |
|
Ответы с готовыми решениями:
11
Директива using namespace может применяться только к пространствам имен; "System.Object" является типом, а не пространством имен
|
|
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
|
|||||||
| 25.09.2011, 08:54 | |||||||
|
В action.cpp добавьте
0
|
|||||||
|
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 13
|
|||
| 25.09.2011, 09:10 [ТС] | |||
0
|
|||
|
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
|
|||||||
| 25.09.2011, 09:15 | |||||||
|
Из start.cpp
0
|
|||||||
|
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 13
|
|||
| 25.09.2011, 09:22 [ТС] | |||
0
|
|||
|
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
|
|||||||||||
| 25.09.2011, 09:45 | |||||||||||
|
Переименуйте actions.cpp в Form1.cpp. Добавьте в файл Form1.cpp
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 13
|
|
| 25.09.2011, 09:53 [ТС] | |
|
Спасибо. Работает. А почему, объясните?)
неужто нельзя так же связать *.h и *.cpp с разными именами?
0
|
|
|
8 / 8 / 1
Регистрация: 23.09.2011
Сообщений: 45
|
||
| 25.09.2011, 09:58 | ||
|
Действительно, action.cpp ничего не знает о namespace Start, потому что соответствующий заголовочный файл в него не включён. Просто уберите #include "action.cpp" из start.cpp и добавьте #include "Form1.h" в action.cpp. Немного с ответом опоздал. Можно и разными именами, необязательно переименовывать в Form1.cpp.
0
|
||
|
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 13
|
|
| 25.09.2011, 10:02 [ТС] | |
|
Теперь я понял)
0
|
|
|
8 / 8 / 1
Регистрация: 23.09.2011
Сообщений: 45
|
|
| 25.09.2011, 10:03 | |
|
А вообще почитайте первоисточник, создателя C++: Страуструп - Язык программирования C++, раздел 2.4.1. Раздельная компиляция.
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 13
|
|
| 27.09.2011, 08:09 [ТС] | |
|
Появился вопрос с той же оперы, как принципиально правильно реализовать #include в таком проекте:
1)Unit1.cpp - основной файл проекта 2)Unit1.h - заголовочный файл к нему 3)functions.cpp - файл содержащий тела функций, используемых в Unit1.cpp 3)functions.h -заголовочный файл к файлу функций 4)definitions.h - файл с описанием класса, содержащего уйму исходных переменных, которые будут использоваться в functions.cpp и Unit1.cpp. 5)definitions.cpp - файл, в котором эти переменные задаются. Почитал Страуструпа, вроде делал все как написано, но вылетают ошибки. Хотел бы узнать как это все должно выглядеть в идеале?
0
|
|
|
8 / 8 / 1
Регистрация: 23.09.2011
Сообщений: 45
|
|
| 27.09.2011, 09:55 | |
|
Нужно, чтобы каждый файл *.cpp содержал #include "*.h" того файла, который он использует,
т.е. если Unit1.cpp использует функции functions.cpp, то в него нужно включить #include "functions.h", а если definitions используется всеми другими файлами, то во все должно быть включено #include "definitions.h", ну и каждый файл *.cpp должен содержать свой заголовочный файл, где описываются классы и функции, которые в нём реализованы. А вообще, какие ошибки конкретно?
0
|
|
| 27.09.2011, 09:55 | |
|
Помогаю со студенческими работами здесь
12
Гемор с пространством имен. C++ и директивы include c пространством имён
C++ Странность с классом , пространством имен и string Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|