DU5 error

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: DU5 error

Re: DU5 error

od faymon » 28. 12. 2010 16:10

Taky jsem na to koukal no. Pokud to budu mít hotové do toho 30.12. 14:00 tak mu to pošlu na mail, když nejde sis tak nejde sis a co mám asi dělat jinýho. Ale stejně pochybuju že to budu mít včas, tak si myslím že tyhle starosti můžu úplně pustit z hlavy.

JANIK_
Tak jestli to Yaghob odsouhlasil, tak to nechám a nebudu to řešit.

Re: DU5 error

od hkvm » 28. 12. 2010 15:48

Hlavně dejte pozor, ať to odevzdáte včas – deadline je sice do 30.12. (14:00), ale od zítřka od 18:00 nepůjde SIS.

Re: DU5 error

od JANIK_ » 28. 12. 2010 11:58

V MSVC 2010 sa mi to prelozi ok bez dalsich uprav. Problem uvedeny hore je sposobeny len tym ze 2005 nevie sablony spriatelenych fcii. Tu upravu som poslal aj Yaghobovi a ten ju odobril ze by neamla nic rozbit a ze ju mozem puzit.

Re: DU5 error

od faymon » 27. 12. 2010 03:57

Nenašel jsem žádný uspokojivý. Taky jsem psal Yaghobovi, ten mi odpověděl s tím, že jemu to přeložit jde. Já to v žádným VS doteď nepřeložil ať dělám co dělám.
Modifikovat ten jejich soubor asi nebude moc legální, jedině si to upravit pro sebe a až to bude hotové tak to vrátit jak to bylo původně. Ale to asi taky nemusí skončit dobře.

Re: DU5 error

od JANIK_ » 27. 12. 2010 01:08

Takze potvrdene od Yaghoba ze sa jedna sa o chybu prekladaca MSVC 2005.
Na kontrolu DU bude pouzity novsi prekladac ktory zvladne friend sablony funkcii.
Teda riesenie je prejst na novsi prekladac alebo pripadne si upravit subor ako som popisoval hore.

Re: DU5 error

od JANIK_ » 26. 12. 2010 22:03

Odstarnit sa to da celkom jednoducho avsak upravou read only zdrojku literal_storage.hpp staci spravit z friend operatora== membra vid. cast upraveneho suboru:

Kód: Vybrat vše

	template <typename T, bool ISID>
	class cptr_lit_storage {
	public:
		cptr_lit_storage() : ptr_(0) { }
		cptr_lit_storage(const T* ptr) : ptr_(ptr) { }
		const T& operator*() const { return *ptr_; }
		bool operator!() const { return !ptr_; }
		const T* operator->() const { return ptr_; }
	private:
		const T*	ptr_;

	//	template <typename TT, bool ISIDISID>
	//	friend bool operator==(const cptr_lit_storage<TT, ISIDISID> &lhs, const cptr_lit_storage<TT, ISIDISID> &rhs);
		template <typename TT, bool ISIDISID>
		friend bool operator!=(const cptr_lit_storage<TT, ISIDISID> &lhs, const cptr_lit_storage<TT, ISIDISID> &rhs);
		template <typename TT, bool ISIDISID>
		friend bool operator!=(const TT *lhs, const cptr_lit_storage<TT, ISIDISID> &rhs);
	public:
		bool operator==(const cptr_lit_storage<T, ISID> &rhs) { return ptr_==rhs.ptr_; }
	};

	//template <typename T, bool ISID>
	//bool operator==(const cptr_lit_storage<T, ISID> &lhs, const cptr_lit_storage<T, ISID> &rhs) { return lhs.ptr_==rhs.ptr_; }
	template <typename T, bool ISID>
	bool operator!=(const cptr_lit_storage<T, ISID> &lhs, const cptr_lit_storage<T, ISID> &rhs) { return lhs.ptr_!=rhs.ptr_; }
	template <typename T, bool ISID>
	bool operator!=(const T *lhs, const cptr_lit_storage<T, ISID> &rhs) { return lhs!=rhs.ptr_; }

Re: DU5 error

od JANIK_ » 26. 12. 2010 21:27

Mam rovnaky problem. Nasiel si riesenie?

DU5 error

od faymon » 25. 12. 2010 01:59

Tak jsem zkusil přeložit projekt k dú5 a skončilo to následujícím errorem, který je v abstract_ic.cpp, což je soubor označený jako read only.
Máte to někdo taky? A co s tím děláte?

Kód: Vybrat vše

1>abstract_ic.cpp
1>..\..\..\public-ro\common\src\abstract_ic.cpp(25) : error C2593: 'operator ==' is ambiguous
1>        ..\literal_storage.hpp(35): could be 'bool mlaskal::operator ==<T,true>(const mlaskal::cptr_lit_storage<T,ISID> &,const mlaskal::cptr_lit_storage<T,ISID> &)' [found using argument-dependent lookup]
1>        with
1>        [
1>            T=std::string,
1>            ISID=true
1>        ]
1>        ..\literal_storage.hpp(43): or 'bool mlaskal::operator ==<T,true>(const mlaskal::cptr_lit_storage<T,ISID> &,const mlaskal::cptr_lit_storage<T,ISID> &)' [found using argument-dependent lookup]
1>        with
1>        [
1>            T=std::string,
1>            ISID=true
1>        ]
1>        while trying to match the argument list '(mlaskal::cptr_lit_storage<T,ISID>, mlaskal::cptr_lit_storage<T,ISID>)'
1>        with
1>        [
1>            T=std::string,
1>            ISID=true
1>        ]


Nahoru