STL и Windows 64 bit
От: KARALIUS Россия http://ci-school.org
Дата: 01.08.05 12:13
Оценка:
Помогие понять. Вот на 64-битном СДК от майкрософта не могу скомпилить их же MFC-шный код, который лежит в 64-битном include:
template<class KEY, class ARG_KEY, class VALUE, class ARG_VALUE>
CMap<KEY, ARG_KEY, VALUE, ARG_VALUE>::CAssoc*
CMap<KEY, ARG_KEY, VALUE, ARG_VALUE>::NewAssoc()
{
...
}


говорит:
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1346) : warning C4346: 'CMap<KEY,ARG_KEY,VALUE,ARG_VALUE>::CAssoc' : dependent name is not a type prefix with 'typename' to indicate a type
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1346) : error C2143: syntax error : missing ';' before '*'
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1346) : error C2501: 'CMap<KEY,ARG_KEY,VALUE,ARG_VALUE>::CAssoc' : missing storage-class or type spe
cifiers
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1347) : error C2065: 'KEY' : undeclared identifier
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1347) : error C2065: 'ARG_KEY' : undeclared identifier
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1347) : error C2065: 'VALUE' : undeclared identifier
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1347) : error C2065: 'ARG_VALUE' : undeclared identifier
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1347) : error C2955: 'CMap' : use of class template requires template argument list
        C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1245) : see declaration of 'CMap'
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1375) : error C2065: 'pAssoc' : undeclared identifier
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1387) : warning C4346: 'CMap<KEY,ARG_KEY,VALUE,ARG_VALUE>::CAssoc' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1387) : error C2182: 'FreeAssoc' : illegal use of type 'void'
C:\Program Files\Microsoft SDK\include\Win64\mfc\AFXTEMPL.H(1387) : error C2072: 'CMap<KEY,ARG_KEY,VALUE,ARG_VALUE>::FreeAssoc' : initialization of a function


Или лыжи не едут или я чего-то не понимаю. Файл AFXTEMPL.H
----
При промывке мозгов извилины стираются.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.