![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
satellite1977 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 7.8.2007 Репутация: нет Всего: нет |
Ребята, почему не работает этот простой код?
Причем если объявить переменную класса A в классе B, то все нормально.
возникают ошибки - 1>.\A.cpp(5) : error C2143: syntax error : missing ';' before '^' 1>.\A.cpp(5) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>.\A.cpp(5) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>.\A.cpp(20) : warning C4091: 'static ' : ignored on left of 'B' when no variable is declared |
|||
|
||||
elbjarn |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 13.4.2008 Где: Дубна Репутация: 1 Всего: 3 |
перенесите объявление класса В до объявления класса А. или сделайте форвард-дефинишн.
компилятор, встречая переменную класса B внутри класса А, еще не знает о существовании класса В. P.S. используйте правильную подсветку: "код с++" вместо "код c#" |
|||
|
||||
satellite1977 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 7.8.2007 Репутация: нет Всего: нет |
Спасибо elbjarn
форвард-дефинишн помог в случае, когда оба класса в одном файле. Я создаю проект CLR windows form в Visual studio C++, создаю новый класс. Файл One.h:
Файл One.cpp
Ошибка: 1>.\One.cpp(6) : error C2512: 'My1::Form1' : no appropriate default constructor available Несмотря на форвард-дефинишн компилятор пишет, что не видит конструктор класса Form1. Почему? |
||||
|
|||||
elbjarn |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 13.4.2008 Где: Дубна Репутация: 1 Всего: 3 |
1. добавьте в one.cpp инклуд для form1.
2. не вижу в вашем коде определения класса Form1. есть подозрение, что у Form1() действительно нет конструкторов по умолчанию (которые не принимают параметров).
|
||||
|
|||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |