2013-04-08 3 views
0

Я переношу свой проект с vc6 на vs2010. при компиляции я получаю сообщение об ошибке в строкеприложение для миграции приложений от VC 6 до VS 2010

TMemPool<T>::TTag* that error C2143: syntax error : missing ';' before '*' along with error C4430: missing type specifier - int assumed. Note: C++ does not support default-int.

может ли один помочь мне с этим. извините, если я спросил немой вопрос. Но мне нужна помощь, поскольку я не так хорош в кодировании.

Также, если возможно, сообщите, пожалуйста, какие-либо предварительные настройки, которые необходимо выполнить во время переноса моего проекта с VC 6 на VS 2010. Кроме того, необходимо выполнить любые шаги, необходимые для выполнения перед переносом кода.

, пожалуйста, найдите здесь код ошибки. Позвольте мне знать, если вам нужно что-нибудь еще.

благодарит заранее.

// ---------------------------------------------------------------------------- 
template <class T> 
TMemPool<T>::TTag* 
TMemPool<T>::GetAt 
(
int I_Index 
) 
{ 
if(I_Index < 0 || (unsigned int)I_Index > GetTotal()) 
    return NULL; 
return &m_pStorage[I_Index].m_Tag; 
} 

#endif // !defined(AFX_TMEMPOOL_H__825D671F_49E6_46C1_AB3D_79920EF692D8__INCLUDED_) 
+1

Мое предположение, вам не хватает точки с запятой после вашего 'class {}' в файле '.h'. –

+0

Нет, это вызвало бы ** дублирующее ** спецификатор типа: 'class Foo {}/* 1 */template TMemPool :: TTag */* 2 */TMemPool :: GetAt' - также' GetAT' вернуть 'Foo' или' TTag'? Проблема здесь в том, что 'TTag' не называет тип, как объясняет user93353. – MSalters

ответ

2

Какой тип TTag?

Попробуйте

template <class T> 
typename TMemPool<T>::TTag* TMemPool<T>::GetAt(int I_Index) 
{ 
    if(I_Index < 0 || (unsigned int)I_Index > GetTotal()) 
     return NULL; 
    return &m_pStorage[I_Index].m_Tag; 
} 

IIRC, VC6 используется для компиляции вещи, где typename не хватало, но vc7 года, что изменилось.

+0

Yup, VC6 обманул и создал экземпляр 'TMemPool ', чтобы выяснить, что станет« TTag ». – MSalters

+0

@ user93353: Спасибо большое .... это помогло мне :) – user1909123

Смежные вопросы