Господа, всем добрый день. Может кто знает, как убедить С++ builder 5 в том, что этот код должен компилироваться? На comeau и линейке VC он работает вполне нормально, а вот билдер категорически отказывается инстанцировать это:
template <class R>
struct fi
{
template <class D, class P1> struct RetProxy
{
};
};
template <class R, class P1>
struct ff
{
template <class D> struct Proxy: public fi<R>::template RetProxy<D,P1>
{
};
};
int main()
{
ff<int, int>::Proxy<int> gg; // E2402 Illegal base class type: formal type 'fi<R>::RetProxy<D,P1>'
// resolves to 'fi<R>::RetProxy<D,int>'
return 0;
}
Опыта работы и знания особенностей данного недокомпилятора у меня нет, поэтому если все просто — просьба сильно не пинать... Заранее спасибо!