Я получаю новый класс из класса VCL TStream
:
// A stream based on a temporary file, deleted when the stream is closed
class TTempFileStream : public TStream
{
...
public:
using TStream::Seek;
__int64 __fastcall Seek(const __int64 Offset, TSeekOrigin Origin)
{
return 0; // for simplicity!
}
...
} ;
TStream
объявляет следующие два варианта поиска:
virtual int __fastcall Seek(int Offset, System::Word Origin)/* overload */;
virtual __int64 __fastcall Seek(const __int64 Offset, TSeekOrigin Origin)/* overload */;
Но я получаю следующее предупреждение W8022 при компиляции моего класса: -
[BCC32 Warning]_utils.h(166): W8022
'_fastcall TTempFileStream::Seek(const __int64,TSeekOrigin)' hides virtual function '_fastcall TStream::Seek(int,unsigned short)'
Конечно, объявление Using должно исправить это?
Чтобы вернуть этот вопрос в нужное русло, я знаю, как взаимосвязаны две версии TStream::seek, и я просто пытаюсь получить унаследованный метод Seek(int,int), предоставляемый производным классом. Почему моя декларация using
этого не делает?