Ошибка C2143: синтаксическая ошибка: отсутствует '; ' перед '^'
У меня есть следующая проблема, у меня есть класс A, который имеет экземпляр класса B, А класс B имеет экземпляр класса A. в VisualStudio 2013 дает мне ошибку.
error C2143: syntax error: missing ';' Before '^'
Ниже приведен код класса. Заранее спасибо
Что я уже пробовал:
#include "stdafx.h" #include "BAsterNode.h" using namespace System; using namespace System::Collections::Generic; ref class BAsterInfo { private: IComparable^ info; BAsterNode^ enlaceMayores; /* error C2143 */ public: IComparable^ GetInfo(); void SetInfo(IComparable^); BAsterNode^ GetEnlaceMayores(); void SetEnlaceMayores(BAsterNode^ enlaceMayoresP); };
а че другого класса
#include "stdafx.h" #include "BAsterInfo.h" using namespace System; using namespace System::Collections::Generic; using namespace System::Reflection; ref class BAsterNode { private: BAsterNode^ enlaceMenores; List<BAsterInfo^>^ listaInformacion; int Find(BAsterInfo^ info); public: List<BAsterInfo^>^ GetListaInfo(); void SetListaInfo(List<BAsterInfo^>^ listaInfoP); BAsterNode^ GetEnlaceMenores(); void SetEnlaceMenores(BAsterNode^ enlaceMenoresP); };
Ravi Bhavnani
Вы путаете синтаксис Pascal с C/C++? Вы хотели использовать * или действительно хотите использовать ссылку на дескриптор?
/ Рави
[no name]
Похоже на C++/CLI, так что ^ будет правильным.
Ravi Bhavnani
Да, именно это я и имел в виду, говоря о ручке.
/ Рави
Richard MacCutchan
BasterInfo включает BasterNode, а BasterNode включает BasterInfo; это может сбить с толку компилятор.