I am in the process of porting a C++ application built with MS Visual
Studio .NET to g++ 3.4.3 and am slowly moving thru the compilation
warnings and errors. I have come upon a error which I am trying to
solve (I believe related to Template defintion). In ArrayDataType.cxx
(at the bottom) the ArrayVector type is somehow not in scope (I assume
because the compiler reports a syntax error before the ; on the
ArrayVector::const_iterator itr; line in ArrayDataType.cpp). The
following source code extract defines the problem and I would
appreciate any recommendations.
ArrayDataType.h
==========================================
namespace FAII
{
template <class T>
class ArrayDataType : public DataType
{
public:
typedef std::vector<T*> ArrayVector;
// Constructors and destructor
public:
ArrayDataType(const FAIIstring& elementName);
ArrayDataType(const ArrayDataType<T>& other);
virtual ~ArrayDataType() = 0;
private:
// No default ctor
ArrayDataType();
// Attributes
protected:
// The array
ArrayVector m_array;
};
};
-------------------------------------------------------------------------------------------------------
ArrayDataType.cxx
==========================================
#include "ArrayDataType.h"
template <class T>
FAII::ArrayDataType<T>::~ArrayDataType()
{
ArrayVector::const_iterator itr;
for (itr = m_array.begin(); itr != m_array.end(); itr++)
delete (*itr);
m_array.clear();
}
_______________________________________________
help-gplusplus mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gplusplus