The issue I am encountered with is… the same vector we read as double is to be used in another function, but with different data type as mentioned bellow. So I need a conversion function which performs this fact.
I have a class as follows
template <class T>
class NRVec {
private:
int nn; // size of array. upper index is nn-1
T *v;
public:
NRVec();
explicit NRVec(int n); // Zero-based array
NRVec(const T &a, int n); //initialize to constant value
NRVec(const T *a, int n); // Initialize to array
inline const T & operator[](const int i) const;
inline int size() const;
~NRVec();
};
I have a vector defined as follows
typedef const NRVec<DP> Vec_I_DP;
I have a another class having a function svdfit() and this function takes a argument (vector) with datatype from the class NRVec.
Now instead of using Vec_I_DP, I want to use my vector Vec_XX_AT. The problem is difference in the datatype. So I wanted to have a conversion function which converts vector from datatype Vec_I_DP(Vec_I_DP &x) to DP(vector <DP> Vect_XX_AT) as shown above.
Just as a helpful suggestion... it is probably better not to add the "const"
to the Vec_I_DP typedef. If the user wants a const NRVec<DP> then they
should add the "const" themselves.