![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Igoreck |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 28.9.2007 Репутация: нет Всего: нет |
У меня есть проект состоящий из нескольких форм. Надо создать структуру, которая будет видна во всех формах
Я создал пустой файл описания DiffValues.h , в нем создал структуру class STRUCT1 { public: unsigned short value1; unsigned short value1; }; И создал переменную структуры, перед которой указал ключевое слово extern extern STRUCT1 str1; эту переменную структуры я задал в одном из файлов с расширением cpp: STRUCT1 str1; Во всех файлах, связанных с формами, где я хотел использовать эту структуру я написал #include " DiffValues.h" В приложением с нуеправляемым кодом работало, а щас ругается на строчку class STRUCT1 в файле DiffValues.h и выдает ошибку : error C2011: ' STRUCT1' : 'class' type redefinition |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
я, конечно, мало разбираюсь в с++, но по ходу он при каждом инклюде (хоть включается один и тот же файл) пытается снова определить структуру.
|
|||
|
||||
| Dennnis |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 23.3.2008 Репутация: 1 Всего: 4 |
Напиши в начале файла DiffValues.h
#pagma once --------------------
Get Rich or Die Tryin' |
|||
|
||||
| Igoreck |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 28.9.2007 Репутация: нет Всего: нет |
понял в чем была ошибка: у меня вызывалась последовательность форм - т.е новая вызывалась из предыдущей - и чтобы вызвать коструктор новой формы для создания ее объекта я уже включал заголовочный файл новой в предыдущую и конечно, после того как я еще добавил #include " DiffValues.h" в каждую из форм он начал ругаться - т.е надо было добавить эту директиву только в последний файл в последовательности
ps to Dennnis - спасиба - вариант с "#pragma once" - то же работает |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |