CG2007: using-direktive und Interner Compilerfehler
-
Hi,
folgender Code erzeugt bei mir einen
`
[C++ Fataler Fehler] main.cpp(82): F1004 Interner Compiler-Fehler at 0x12107a7 with base 0x1200000
`
(Zeilennummer stimmt nicht, habe einige Funktionen auskommentiert):#include <vector> #include <iterator> #include <algorithm> template<typename T, unsigned int D, typename container_type=std::vector<T> > class array_base { public: typedef array_base<T,D> self_type; typedef typename container_type::value_type value_type; typedef typename container_type::iterator iterator; typedef typename container_type::const_iterator const_iterator; typedef typename container_type::reference reference; typedef typename container_type::const_reference const_reference; protected: container_type Elements_; unsigned int Extents_[D]; unsigned int Strides_[D]; public: array_base() { std::fill( Extents_, Extents_ + D, 0 ); std::fill( Strides_, Strides_ + D, 0 ); } virtual ~array_base() { } self_type& operator=( const self_type& op ) { if( this != &op ) { Elements_ = op.Elements_; std::copy( op.Extents_, op.Extents_ +D, Extents_ ); std::copy( op.Strides_, op.Strides_ +D, Strides_ ); } return *this; } }; // nur Spezialisierungen erlauben template<typename T, unsigned int D> class array; template<typename T> class array<T,1> : public array_base<T,1> { public: // Zuweisungsoperator des Basisklassen benutzen using array_base<T,1>::operator=; array() { } }; int main() { array<int,1> arr; }
Ist das ein bekannter Compiler Bug? Hat jemand einen CG2009/CG2010 und kann prüfen, ob er dort auch auftritt?
-
DocShoe schrieb:
Hat jemand einen CG2009/CG2010 und kann prüfen, ob er dort auch auftritt?
Kompiliert in C++Builder 2009 aufwärts fehlerfrei.
-
Hm, Danke. Ich schein´ irgendwie ein Händchen für Features zu haben, die mit unserer aktuellen Builder Version nicht funktionieren. War schon beim Builder 6 so und geht auch wohl so weiter