Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Подскажите

390
08 марта 2006 года
lexus
143 / / 13.04.2004
Я создал класс CListNode в отдельном файле. Потом подключил его (CListNode.h) в wtl1.cpp, компилятор выдал:
wtl1.cpp
c:\documents and settings\xxx\мои документы\visual studio 2005\projects\wtl1\wtl1\wtl1view.h(10) : error C2146: syntax error : missing ';' before identifier 'node'
c:\documents and settings\xxx\мои документы\visual studio 2005\projects\wtl1\wtl1\wtl1view.h(10) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\xxx\мои документы\visual studio 2005\projects\wtl1\wtl1\wtl1view.h(10) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
MainFrm.cpp
c:\documents and settings\xxx\мои документы\visual studio 2005\projects\wtl1\wtl1\wtl1view.h(10) : error C2146: syntax error : missing ';' before identifier 'node'
c:\documents and settings\xxx\мои документы\visual studio 2005\projects\wtl1\wtl1\wtl1view.h(10) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\xxx\мои документы\visual studio 2005\projects\wtl1\wtl1\wtl1view.h(10) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Ругается он на
class CWtl1View : public CWindowImpl<CWtl1View>
{
private:
CLineNode node;
....
Потом я подключил CListNode.h в wtl1.h и все заработало.

В чем обшибка?Почему надо подключать его в h файле,хотя все остальные заголовочные файлы типа "stdafx.h","resource.h" подключаются в wtl1.cpp
534
08 марта 2006 года
HarryAxe
448 / / 19.01.2006
Ну так правильно, если бы ты использовал этот класс только в cpp файле, всё бы проканало. Но у тебя же он присутствует ещё и как переменная-член другого класса, описанного в h-файле. Поэтому необходимо подключать CListNode.h в заголовок класса CWtl1View (wtl1.h). Как вариант, можно расположить #include "CListNode.h" перед #include "wtl1.h" в cpp файле (если только wtl1.h не включается ни в какие другие модули)
390
10 марта 2006 года
lexus
143 / / 13.04.2004
Цитата:
Originally posted by HarryAxe
Ну так правильно, если бы ты использовал этот класс только в cpp файле, всё бы проканало. Но у тебя же он присутствует ещё и как переменная-член другого класса, описанного в h-файле. Поэтому необходимо подключать CListNode.h в заголовок класса CWtl1View (wtl1.h). Как вариант, можно расположить #include "CListNode.h" перед #include "wtl1.h" в cpp файле (если только wtl1.h не включается ни в какие другие модули)


Только прикол в том, что я его так и подключал

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог