Приветствую !
Имеется класс, который без проблем собирается классическим 32 битным компилятором и не собирается новым Clang (bcc32c):
template <typename T>
class TBasicMultiList : public TBasicJSONObject {
public:
virtual void __fastcall AddItem(T *Item){DataList->Add(Item);}
virtual void __fastcall InsertItem(T *Item, int Index){DataList->Insert(Index,Item);}
virtual T* __fastcall GetAndDeleteLastItem();
virtual T* __fastcall GetAndDeleteFirstItem();
virtual void __fastcall DeleteItem(int Index);
virtual void __fastcall Clear();
virtual void __fastcall Assign(TBasicMultiList *Source);
virtual bool __fastcall RestoreFromJsonObject(TlkJSONobject *SrcObj,AnsiString &Error);
__property T* Items[int Index]={read=GetItemByIndex};
__property int Count={read=GetDataListCount};
__property AnsiString AsJSONString={read=GenerateJsonString};
__property TlkJSONobject* AsJSONObject={read=GenerateJsonObject};
__fastcall TBasicMultiList(AnsiString JsonObjectName="");
__fastcall ~TBasicMultiList();
protected:
virtual TlkJSONobject* __fastcall GenerateJsonObject();
private:
TList *DataList;
T* __fastcall GetItemByIndex(int Index);
int __fastcall GetDataListCount(){return this->DataList->Count;}
};
//---------------------------------------------------------------------------
Ошибки:
[bcc32c Error] MPEngineUtils.h(103): no matching function for call to 'GetItemByIndex'
[bcc32c Error] MPEngineUtils.h(104): no matching function for call to 'GetDataListCount'
Т.е. почему-то ругается на геттер функции для пропертей Count и Items. Типы совпадают, классический компилятор не ругается.
Может кто-нибудь в к курсе где косяк ?