Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > LOKI (глюки BCB)


Автор: np9mi7 12.4.2005, 11:43
Добрый день. Столкнулся с такой проблемой. Есть код
Код

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <smartptr.h>
//---------------------------------------------------------------------------
class Base
{
    public:
        virtual Base* Clone(){return new Base;}
};
class SubBase : public Base
{
    public:
        virtual Base* Clone(){return new SubBase;}
};
//---------------------------------------------------------------------------
typedef Loki::SmartPtr<Base,Loki::DeepCopy> BaseCPtr;
//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    BaseCPtr cptrTemp1;
    cptrTemp1 = BaseCPtr (new SubBase);
    return 0;
}
//---------------------------------------------------------------------------

Компилятор BCB 6.0 , ну понятно что инт. указатель со стратегией глубокого копирования, блин а при сборке выдается ошибка:
Цитата
[C++ Error] SmartPtr.h(802): E2015 Ambiguity between 'Loki::SmartPtr<Base,Loki::DeepCopy<P>,Loki::DisallowConversion,Loki::AssertCheck<P>,Loki::DefaultSPStorage<T> >::SmartPtr(Base * const &)' and 'Loki::SmartPtr<Base,Loki::DeepCopy<P>,Loki::DisallowConversion,Loki::AssertCheck<P>,Loki::DefaultSPStorage<T> >::SmartPtr(Loki::ByRef<Loki::SmartPtr<Base,Loki::DeepCopy<P>,Loki::DisallowConversion,Loki::AssertCheck<P>,Loki::DefaultSPStorage<T> > >)'

, блин что за ерудна!!! Может библиотека глючит?

Народ, вы сталкивались с такой проблемой? Помогите!!! Заранее благодарен за ответы.


Блин, самое прикольное то что в студии все в норме.... smile

Автор: azesmcar 12.4.2005, 12:07
А где SmartPtr.h ???

Автор: np9mi7 12.4.2005, 12:11
Код

smartptr.h
, это кусок библиотеки... LOKI... вот как.... ок?

Автор: azesmcar 12.4.2005, 13:29
Извини, не слышал про такую библиотеку...думал это твое произведение искусства...
У тебя что то конфликтует...может с билдеровскими библиотеками...тебе VCL нужен? попробуй убрать...у меня просто этой библиотеки нет, попробовать не могу..

Автор: np9mi7 18.4.2005, 13:04
Код

        /*      ПРАВКА!!!
        //### BCB
        SmartPtr(ByRef<Ptr_t> rhs)
     : SP(rhs), OP(rhs), KP(rhs), CP(rhs)
        {}

        //### BCB
        operator ByRef<Ptr_t>()
        { return ByRef<SmartPtr>(*this); }
        */


smile , цена успеха коментарии в файле \borland\smartptr.h

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)