 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
fabioppp Guest
|
Posted: Thu Feb 24, 2005 4:04 pm Post subject: Loki::Tuple and g++ |
|
|
I'm using g++, a quite new version.
Why does this code not compile?
#include "HierarchyGenerators.h"
using namespace Loki;
int main()
{
Tuple<TYPELIST_2(int,int)> tuple;
Field<0>(tuple) = 4;
};
--
Fabio.
|
|
| Back to top |
|
 |
fabioppp Guest
|
Posted: Fri Feb 25, 2005 1:10 am Post subject: Re: Loki::Tuple and g++ |
|
|
| Quote: | I'm using g++, a quite new version.
Why does this code not compile?
#include "HierarchyGenerators.h"
using namespace Loki;
int main()
{
Tuple<TYPELIST_2(int,int)> tuple;
Field<0>(tuple) = 4;
};
|
I think that GenScatterHierarchy has a bug when two or more equal types
exist in the Typelist.
The hierarchy generated is ambiguous (g++ emit a warning).
The implementation of Field<0>(tuple) uses this funcion:
template <class H, typename R, int i>
inline R& FieldHelper(H& obj, Type2Type<R> tt, Int2Type<i>)
{
typename H::RightBase& subobj = obj;
return FieldHelper(subobj, tt, Int2Type<i- 1>());
}
The upcast from obj to subobj is ambiguous, because
H::RightBase is convertible to H::LeftBase.
In such a way the compiler doesn't know where to go.
Left or Right?
--
fabioppp
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|