помогите скомпилировать
От: Аноним  
Дата: 29.04.08 13:04
Оценка:
Кимпилирую тут одну библиотеку под линух (g++, 4.1.2)
Изначально либа под микрософтовский компилер

Итак:

namespace Attr
{
class Attribute : public Util::KeyValuePair<AttrId,Util::Variant>
{
...

inline
Attribute::Attribute(const BoolAttrId& id, bool val) :
    Util::KeyValuePair<AttrId,Util::Variant>(id, Util::Variant(val))
{
    // empty
}


Имеем:

./attr/attribute.h: In constructor ‘Attr::Attribute::Attribute(const Attr::BoolAttrId&, bool)’:
./attr/attribute.h:201: error: no matching function for call to ‘Util::Variant::Variant(Util::Variant)’


В нагрузку еще несколько объявлений:

namespace Util
{
template<class KEYTYPE, class VALUETYPE> class KeyValuePair
{
public:
    KeyValuePair(const KEYTYPE& k, const VALUETYPE& v);
...

namespace Util
{
class Variant
{
public:
    explicit Variant(const Variant& rhs);
    explicit Variant(bool rhs);
...


Почему не находтся нужный конструктор? И какой из компиляторов неправ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.