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

Ваш аккаунт

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

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

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

Ошибка при использовании STL в приложении на базе WTL

563
17 августа 2007 года
MrLinker
249 / / 17.09.2006
Такая проблема:
Создаю в среде VC++ 6.0 при помощи WTL AppWizard проект.
Проект работает.
Но стоит подключить, например, vector.h из библиотеки STL, так сразу тьма ошибок:
Цитата:
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(61) : error C2226: syntax error : unexpected type 'T'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(61) : error C2062: type 'const int' unexpected
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(61) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(66) : error C2062: type 'const int' unexpected
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(66) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(66) : error C2143: syntax error : missing ';' before '{'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(66) : error C2447: missing function header (old-style formal list?)
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(72) : error C2954: template definitions cannot nest
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(73) : warning C4002: too many actual parameters for macro 'min'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(73) : error C2226: syntax error : unexpected type 'T'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(73) : error C2062: type 'const int' unexpected
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(73) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(78) : warning C4002: too many actual parameters for macro 'max'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(78) : error C2062: type 'const int' unexpected
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(78) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(78) : error C2143: syntax error : missing ';' before '{'
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(78) : error C2447: missing function header (old-style formal list?)
c:\program files\microsoft visual studio\vc98\include\stl\algobase.h(82) : error C2954: template definitions cannot nest



Причем интересный момент, если подключать хидер самым первым, то ошибок не возникает. Однако при попытки определить:

 
Код:
vector<int> A;

получаем ошибочки:
Цитата:
error C2065: 'vector' : undeclared identifier
error C2062: type 'int' unexpected



В обычном консольном приложении усё у норме.

Может кто-нибудь знает в чем прикол?

12K
17 августа 2007 года
__AleXX__
133 / / 02.04.2007
попробуй подключить <vector>, а не <vector.h>,
мож. в этом проблема.
22K
17 августа 2007 года
Pastor
43 / / 16.05.2007
using namespace std; - пишешь?
563
17 августа 2007 года
MrLinker
249 / / 17.09.2006
Цитата:
попробуй подключить <vector>, а не <vector.h>,
мож. в этом проблема.


Работает :)
Спасибо.

Цитата:
using namespace std; - пишешь?


Не помогает.

Но почему же тогда STL с сайта SGI не работает?

И вопрос все равно остается, ведь в консольном приложении работает :)

12K
17 августа 2007 года
__AleXX__
133 / / 02.04.2007
в консоли bc3.1 всегда подключал vector.h и юзал без неймспейса и все работало (но это 16bit),
а под 32bit - <vector>, namespaces и всякая дребедень :)) поэтому может не работать.

to Pastor
а вот
using namespace std;
писать не хорошо, нах. тогда неймспейсы придумали?
надо через нго обращаться, а то возникнет конфликт имен и всё - правь весь код.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог