|
|
|
про нэймспэсы
|
|||
|---|---|---|---|
|
#18+
Привет всем, пару вопросов (ламерских вероятно). есть код в файле х1.h: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Теперь в x2.h тоже есть класс ALLNIScope, тоже в пространстве имён ALLNI, но полностью набитый свойствами и методами. Так вот когда я в методе void test (void); в реализации класса AcquisitionEventSource (файл x2.cpp) пишу что-то вроде int z = scope->testfield; Это на ура работает при условии что в классе который прописан в x2.h есть свойство testfield. В файле x2.cpp нет инклудов x2.h. В x1.h тоже. Кактак получается? И что значит в "::ALLNI::ALLNIScope *scope;" дабл-двоеточее в начале? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2006, 16:21 |
|
||
|
про нэймспэсы
|
|||
|---|---|---|---|
|
#18+
bemtaillВ файле x2.cpp нет инклудов x2.h. В x1.h тоже. Как так получается?может быть включен файл, в котором включен x2.h. bemtaillдабл-двоеточее в начале?глобальный уровень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2006, 17:33 |
|
||
|
про нэймспэсы
|
|||
|---|---|---|---|
|
#18+
А нельзя ли построить файл зависимостей для x[21].cpp чтобы посмотреть кто кого обманывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2006, 19:46 |
|
||
|
про нэймспэсы
|
|||
|---|---|---|---|
|
#18+
maXmoможет быть включен файл, в котором включен x2.h. туплю. В файле x1.cpp есть инклуды которые в итоге включают x2.h. Сейчас приведу цепочку размышлений, поправте если я не прав плз. Тогда что получается : в фале х1.h компилятор видит только что объявленный класс ALLNIScope и дает объявить ::ALLNI::ALLNIScope *scope внутри класса AcquisitionEventSource без ошибок. В тоже время в реализации AcquisitionEventSource в файле x1.cpp он раходит строчку int z = scope->testfield; и согласно включаемым хидерам уже смотрит НЕ на ALLNIScope который объявлен в х1.h, а на ALLNIScope который объявлен в х2.h. А так как там действительно есть свойство testfield (в отличии от ALLNIScope, который объявлен в х1.h,), то также не выдает ошибок. авторглобальный уровень. Понял, спсб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2006, 12:28 |
|
||
|
про нэймспэсы
|
|||
|---|---|---|---|
|
#18+
bemtaillв фале х1.h компилятор видит только что объявленный класс ALLNIScopeэто, вроде, не совсем объявление, это просто метод сказать компилятору, что настоящее объявление класса будет потом. То, что находится в файле х1.h, позволяет объявлять только ссылки на объекты этого класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2006, 12:56 |
|
||
|
про нэймспэсы
|
|||
|---|---|---|---|
|
#18+
maXmo bemtaillв фале х1.h компилятор видит только что объявленный класс ALLNIScopeэто, вроде, не совсем объявление, это просто метод сказать компилятору, что настоящее объявление класса будет потом. То, что находится в файле х1.h, позволяет объявлять только ссылки на объекты этого класса. Спасибо, все понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2006, 13:19 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33965853&tid=2030560]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 469ms |

| 0 / 0 |
