Я переношу свой проект с 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_)
Мое предположение, вам не хватает точки с запятой после вашего 'class {}' в файле '.h'. –
Нет, это вызвало бы ** дублирующее ** спецификатор типа: 'class Foo {}/* 1 */template TMemPool :: TTag */* 2 */TMemPool :: GetAt' - также' GetAT' вернуть 'Foo' или' TTag'? Проблема здесь в том, что 'TTag' не называет тип, как объясняет user93353. –
MSalters